HydrologicEngineeringCenter / Vortex

data processing utilities
MIT License
27 stars 7 forks source link

Importer Fails to interpret provisonal PRISM data #20

Closed danhamill closed 3 years ago

danhamill commented 4 years ago

IF you try and import a provisional grid from PRISM, importer fails to import a grid to dss

Data: PRISM_ppt_provisional_4kmD2_20200723_bil.zip

Logging:

java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.base/java.lang.reflect.Method.invoke(Unknown Source)
        at importer.controller.WizardController$1.call(WizardController.java:169)
        at importer.controller.WizardController$1.call(WizardController.java:163)
        at javafx.graphics/javafx.concurrent.Task$TaskCallable.call(Task.java:1425)
        at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
        at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at hec.heclib.grid.GriddedData.setGriddedTimeWindow(GriddedData.java:152)
        at mil.army.usace.hec.vortex.io.DssDataWriter.write(DssDataWriter.java:686)
        at mil.army.usace.hec.vortex.io.DssDataWriter.lambda$write$10(DssDataWriter.java:221)
        at java.base/java.util.ArrayList.forEach(Unknown Source)
        at mil.army.usace.hec.vortex.io.DssDataWriter.write(DssDataWriter.java:58)
        at mil.army.usace.hec.vortex.io.ImportableUnit.lambda$process$0(ImportableUnit.java:129)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.accept(Unknown Source)
        at java.base/java.util.stream.Streams$RangeIntSpliterator.forEachRemaining(Unknown Source)
        at java.base/java.util.Spliterator$OfInt.forEachRemaining(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source)
        at java.base/java.util.concurrent.CountedCompleter.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doInvoke(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.invoke(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfInt.evaluateParallel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.IntPipeline.forEach(Unknown Source)
        at java.base/java.util.stream.IntPipeline$Head.forEach(Unknown Source)
        at mil.army.usace.hec.vortex.io.ImportableUnit.process(ImportableUnit.java:91)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(Unknown Source)
        at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachTask.compute(Unknown Source)
        at java.base/java.util.concurrent.CountedCompleter.exec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.doInvoke(Unknown Source)
        at java.base/java.util.concurrent.ForkJoinTask.invoke(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(Unknown Source)
        at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(Unknown Source)
        at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
        at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
        at mil.army.usace.hec.vortex.io.BatchImporter.process(BatchImporter.java:85)
        at importer.controller.Step3Controller.submit(Step3Controller.java:173)
        ... 9 more
tombrauer commented 3 years ago

I added handling logic for PRISM provisional data. This should be fixed in v.0.10.14.

danhamill commented 3 years ago

@tombrauer Sweet!