Ouranosinc / raven

WPS services related to hydrological modeling
https://pavics-raven.readthedocs.io
MIT License
37 stars 12 forks source link

Notebook runs RAVEN forecasts in a deterministic and probabilistic mode using ECCC meteorological forecasts from GeoMet WCS endpoint #247

Closed huard closed 3 years ago

huard commented 4 years ago

@huard : @richardarsenault has edited the top comment to provide a description.

What we would like to do is to generate streamflow forecasts using the GeoMet-Weather WCS endpoint to gather the required forecast forcing variables to drive the raven hydrological model.

So the process would be as follows:

1- Select a forecast issue date and time (when you want the forecast to start) 2- Indicate the length of the forecast (i.e. up to 2 days for the regional models and up to 10 days for the global models) and time step (1 hour for regional, 6 hours for the global). 3- Download the subsetted forecast data for the forecast date and desired lead-times, for each variable required by the model; 3- Select the hydrological model that will be used to generate the streamflow forecasts and provide the required parameters; 4- Run the hydrological model from a selected observed meteorological dataset up until the day before the forecast date; 5- Save the hydrological states to initialize the forecasts; 6- With each forecast member, run the hydrological model from the initial states and save the simulated streamflow 7- Return a netcdf file for each forecast (regional deterministic, global deterministic, regional ensemble and global ensemble) depending on the user requirements (passed with flags to the WPS service).

As of now, the main limitation is that the GeoMet-Weather WCS does not provide more than 1 timestep. Therefore we would need to send in 48 requests for hourly forecast data for the regional deterministic and ensemble models, and 40 for the global runs, for each variable. We can agregate them externally afterwards to feed Raven. So each forecast date (each time we call this function), there might be 1000 calls to the GeoMet WCS. this can explote exponentially if we have a few catchments and want to generate forecasts for more than one forecast date.

What would help immensely in simplifying this process and reducing the number of calls to GeoMet-Weather WCS is to allow temporal subsetting and aggregation, for example by allowing queries that include all forecast timesteps instead of needing to download them all sequentially.

huard commented 4 years ago

See https://github.com/ECCC-CCCS/geomet-climate/issues/36

richardarsenault commented 4 years ago

Great! Should we also ask them for the option of having multiple forecast timesteps at the same time? Is that the right forum?

huard commented 4 years ago

It is. I think we could flesh out in the description of this issue what exactly we are trying to achieve, and then discuss how to move this forward.