NOAA-OWP / wres

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

As a user, I want to see a better log message when I request data from WRDS, but my period precedes the data available #109

Open epag opened 3 weeks ago

epag commented 3 weeks ago

Author Name: Hank (Hank) Original Redmine Issue: 114167, https://vlab.noaa.gov/redmine/issues/114167 Original Date: 2023-03-22


Per the dev all last week... I'll share an example declaration in comment 1. With the evaluation period being Aug-Sep, 2021, well beyond 90 days, WRDS does not serve the NWM forecast data. The log message said this:

Caused by: wres.io.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 251 sources and the right side had 0 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:69)
    at wres.io.Operations.getProject(Operations.java:194)
    at wres.pipeline.EvaluationUtilities.evaluate(EvaluationUtilities.java:443)
    ... 7 common frames omitted

Per the discussion during the dev call, it would be better if this said something about the webservice not returning any data for the feature and time period of interest. Not necessarily proposing a better message; just noting a message that could be more clearly worded.

Thanks,

Hank

epag commented 3 weeks ago

Original Redmine Comment Author Name: Hank (Hank) Original Date: 2023-03-22T10:55:24Z


Example declaration is below. I note that NWRFC did eventually fight through their issue on March 10, using an evaluation with a more recent period. They then appear to have handed it off to Abram who ran the same evaluation for WRDS "ohrfc". I think Abram said he was going to try to implement NWRFC's CHPS visualizations.

Thanks,

Hank

=============================================

<?xml version='1.0' encoding='UTF-8'?>
<project name="NWM_MR_Flow">
  <inputs>
    <left label="USGS NWIS Streamflow Observations">
      <type>observations</type>
      <source interface="usgs_nwis">https://nwis.waterservices.usgs.gov/nwis/iv</source>
      <variable>00060</variable>
    </left>
    <right label="NWM_MR_Flow">
      <type>single valued forecasts</type>
      <source interface="wrds_nwm">http://[WRDS]/api/nwm2.1/v2.0/ops/medium_range</source>
      <variable>streamflow</variable>
    </right>
  </inputs>
  <pair label="leadtime">
    <unit>ft3/s</unit>
    <featureService>
      <baseUrl>https://[WRDS]/api/location/v3.0/metadata</baseUrl>
    </featureService>
    <feature left="12340500"/>
    <feature left="14372300"/>
    <feature left="14174000"/>
...
    <feature left="12448500"/>
    <feature left="14187500"/>
    <leadHours minimum="0" maximum="240"/>
    <dates earliest="2021-08-22T00:00:00Z" latest="2021-09-01T00:00:00Z"/>
    <issuedDates earliest="2021-08-22T00:00:00Z" latest="2021-09-01T00:00:00Z"/>
    <leadTimesPoolingWindow>
      <period>3</period>
      <unit>hours</unit>
    </leadTimesPoolingWindow>
  </pair>
  <metrics>
    <metric>
      <name>mean absolute error</name>
    </metric>
    <metric>
      <name>mean square error</name>
    </metric>
    <metric>
      <name>mean square error skill score</name>
    </metric>
    <metric>
      <name>mean square error skill score normalized</name>
    </metric>
    <metric>
      <name>sample size</name>
    </metric>
    <metric>
      <name>bias fraction</name>
    </metric>
    <metric>
      <name>coefficient of determination</name>
    </metric>
    <metric>
      <name>root mean square error</name>
    </metric>
    <metric>
      <name>root mean square error normalized</name>
    </metric>
  </metrics>
  <outputs durationFormat="hours">
    <destination type="netcdf2">
      <!--<netcdf vectorVariable="feature_id"/> !-->
    </destination>
  </outputs>
</project>
</code>