NOAA-OWP / wres

Code and scripts for the Water Resources Evaluation Service
Other
2 stars 1 forks source link

As a developer, I want to investigate issues I'm seeing with a user evaluation that has no USGS data and determine if there is a better way to indicate the problem to our users #86

Open epag opened 3 weeks ago

epag commented 3 weeks ago

Author Name: Hank (Hank) Original Redmine Issue: 107156, https://vlab.noaa.gov/redmine/issues/107156 Original Date: 2022-08-04


Example job: 2632595358329622061. I'll share the declaration in the first comment. Example stdout message:

2022-08-03T21:32:49.377+0000 INFO Evaluator Successfully unmarshalled project configuration from command line argument, validating further...
2022-08-03T21:32:49.389+0000 INFO Evaluator Successfully validated project configuration from command line argument. Beginning execution...
2022-08-03T21:32:49.518+0000 INFO EvaluationSubscriber Building a subscriber E87J4_nwYiNdZxmMY96AzvK9K3U to listen for evaluation messages...
2022-08-03T21:32:49.665+0000 INFO EvaluationSubscriber Started the connections for subscriber E87J4_nwYiNdZxmMY96AzvK9K3U...
2022-08-03T21:32:49.669+0000 INFO EvaluationSubscriber The subscriber will write outputs to the directory specified by the java.io.tmpdir system property, which is /mnt/wres_share/evaluations
2022-08-03T21:32:49.671+0000 INFO EvaluationSubscriber Created subscriber E87J4_nwYiNdZxmMY96AzvK9K3U
2022-08-03T21:32:49.727+0000 INFO SourceLoader Parsing the declared datasets. Depending on many factors (including dataset size, dataset design, data service implementation, service availability, network bandwidth, network latency, storage bandwidth, storage latency, concurrent evaluations on shared resources, concurrent computation on shared resources) this can take a while...
2022-08-03T21:32:53.178+0000 INFO ProcessorHelper Wrote the following output: []
2022-08-03T21:32:53.200+0000 ERROR Main Operation 'execute' completed unsuccessfully
wres.pipeline.InternalWresException: Could not complete project execution
    at wres.pipeline.Evaluator.evaluate(Evaluator.java:323)
    at wres.pipeline.Evaluator.evaluate(Evaluator.java:182)
    at wres.MainFunctions.execute(MainFunctions.java:133)
    at wres.MainFunctions.call(MainFunctions.java:95)
    at wres.Main.main(Main.java:129)
Caused by: wres.pipeline.WresProcessingException: Encountered an error while processing evaluation 'H8Va4cr9yb45tzjsR9KKoFL8ygg': 
    at wres.pipeline.ProcessorHelper.processEvaluation(ProcessorHelper.java:274)
    at wres.pipeline.Evaluator.evaluate(Evaluator.java:298)
    ... 4 common frames omitted
Caused by: wres.pipeline.WresProcessingException: Project failed to complete with the following error: 
    at wres.pipeline.ProcessorHelper.processProjectConfig(ProcessorHelper.java:527)
    at wres.pipeline.ProcessorHelper.processEvaluation(ProcessorHelper.java:212)
    ... 5 common frames omitted
Caused by: wres.io.utilities.NoDataException: When examining the ingested data, discovered insufficient data sources to proceed. At least one data source is required for the left side of the evaluation and one data source for the right side, but the left side had 0 sources and the right side had 12 sources. There were 0 baseline sources. Please check that all intended data sources were declared and that all declared data sources were ingested correctly. For example, were some data sources skipped because the format was unrecognized?
    at wres.io.project.Projects.getProjectFromIngest(Projects.java:111)
    at wres.io.Operations.doIngestWork(Operations.java:546)
    at wres.io.Operations.ingest(Operations.java:338)
    at wres.pipeline.ProcessorHelper.processProjectConfig(ProcessorHelper.java:381)
    ... 6 common frames omitted

The problem is that USGS NWIS doesn't return any data:

https://nwis.waterservices.usgs.gov/nwis/iv?endDT=2022-08-03T00%3A00%3A00Z&format=json&parameterCd=00065&sites=05453510&startDT=2000-01-01T00%3A00%3A01Z

Hank

epag commented 3 weeks ago

Original Redmine Comment Author Name: Hank (Hank) Original Date: 2022-08-04T17:35:54Z


Declaration:

<?xml version='1.0' encoding='UTF-8'?>
<project name="6hr AHPS vs USGS Stage (All Examples)">
  <inputs>
    <left label="USGS NWIS Stage Observations">
      <type>observations</type>
      <source interface="usgs_nwis">https://nwis.waterservices.usgs.gov/nwis/iv</source>
      <variable>00065</variable>
    </left>
    <right label="WRDS AHPS API Stage Forecasts">
      <type>single valued forecasts</type>
      <source interface="wrds_ahps">https://nwcal-wrds.[domain]/api/rfc_forecast/v2.0/forecast/stage</source>
      <variable>HG</variable>
    </right>
  </inputs>
  <pair label="TEST">
    <unit>FT</unit>
    <feature left="05453510" right="CRVI4"/>
    <leadHours minimum="0" maximum="120"/>
    <dates earliest="2000-10-01T12:00:00Z" latest="2022-08-03T21:30:14Z"/>
    <issuedDates earliest="2000-10-01T12:00:00Z" latest="2022-08-03T21:30:14Z"/>
    <leadTimesPoolingWindow>
      <period>6</period>
      <frequency>6</frequency>
      <unit>hours</unit>
    </leadTimesPoolingWindow>
  </pair>
  <metrics>
    <metric>
      <name>all valid</name>
    </metric>
  </metrics>
  <outputs durationFormat="hours">
    <destination type="graphic">
      <outputType>lead threshold</outputType>
      <graphical width="800" height="600"/>
    </destination>
  </outputs>
</project>
</code>

Let me see if I can grab the WRDS AHPS data,

Hank

epag commented 3 weeks ago

Original Redmine Comment Author Name: Hank (Hank) Original Date: 2022-08-04T17:43:27Z


The WRDS JSON response for the URL (domain omitted),

https://nwcal-wrds.[domain]/api/rfc_forecast/v2.0/forecast/stage/nws_lid/CRVI4/?format=json&issuedTime=%5B2000-10-01T12%3A00%3A00Z%2C2022-08-03T21%3A30%3A14Z%5D&proj=WRES

is attached,

Hank