NOAA-OWP / wres

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

As a developer, I want the coordinates provided by the WRDS services to make it through to the netCDF output #112

Open epag opened 3 weeks ago

epag commented 3 weeks ago

Author Name: Hank (Hank) Original Redmine Issue: 116020, https://vlab.noaa.gov/redmine/issues/116020 Original Date: 2023-05-09


I'm going to paste a complete example of WRDS JSON output in the first comment. It includes the entire crosswalk for the locations for which data are returned. However, the WRES does not read the coordinate information, in particular. This results in netCDF not containing lat/lon coordinates if its an evaluation of WRDS AHPS against WRDS observations, for example.

This can be resolved when the lat/lon provided with the WRDS data makes it into the netCDF output. Note that I can foresee conflicts in lat/lon between WRDS-AHPS and USGS, so there will need to be some sort of tie-breaker established. I'm guessing that was foreseen, however, and may already exist.

Anyway, example forthcoming. I'm going to leave this as normal priority, but only because nearly all evaluations in practice use USGS NWIS for the observations. This was only discovered, because the WRES GUI could not draw a proper map for a WRDS AHPS vs. WRDS obs evaluation in staging. NetCDF outputs may be a better Category; feel free to change it.

Thanks,

Hank

epag commented 3 weeks ago

Original Redmine Comment Author Name: Hank (Hank) Original Date: 2023-05-09T18:33:29Z


See the attached file for an example. Note that every time series returned will have the crosswalk information which looks like this (sorry for the bad formatting):

"forecasts": [
{
"location": {
"names": {
"nwsLid": "FROV2",
"usgsSiteCode": "01631000",
"nwm_feature_id": 5907079,
"nwsName": "Front Royal",
"usgsName": "S F SHENANDOAH RIVER AT FRONT ROYAL, VA"
},
"coordinates": {
"latitude": 38.91400059,
"longitude": -78.21083388,
"crs": "NAD83",
"link": "https://maps.google.com/maps?q=38.91400059,-78.21083388"
},
"nws_coordinates": {
"latitude": 38.913888888889,
"longitude": -78.211111111111,
"crs": "NAD27",
"link": "https://maps.google.com/maps?q=38.913888888889,-78.211111111111"
},
"usgs_coordinates": {
"latitude": 38.91400059,
"longitude": -78.21083388,
"crs": "NAD83",
"link": "https://maps.google.com/maps?q=38.91400059,-78.21083388"
}
},
...
</code>

So not only could the lat/lon vary between USGS NWIS and WRDS, but, in theory, it could vary between time series in the returned JSON. That is only likely to happen if data for multiple features was requested, in which case it should vary, but still just pointing it out.

Hank