Add configuration to drive WSIM using NMME
This merge request introduces a new WSIM configuration,
wsim_nmme, that drives WSIM using forcing from multiple models (28-members from CFSv2 and 10 members from CanCM4i). Results are eventually combined into composites using a model-equal weighting, such that a member from CanCM4i has 2.8x the weight of a member from CFSv2. The CanCM4i model is used because it performs relatively well in model comparison studies, its hindcasts are readily available from IRI, and timely forecasts are posted to NOAA's real-time anomaly FTP site. However, the configuration is sufficiently general that additional NMME models could be used with minimal effort.
This flexibility also causes significant breaking changes, such that is is probably not practical to continue use of a WSIM model workspace created prior to this merge request. These changes are as follows:
- All precipitation data is now handled as a precipitation rate rather than an amount. This results in fewer conversions (almost all data sources deal in precipitation rates) and removes ambiguities surrounding return period calculation when the number of days in a month may vary from year to year. This change invalidates all previous hindcasts, raw and uncorrected forecasts, observed precipitation, and distributions computed from any of the above.
- Inputs to wsim_correct (observations and distributions) must declare their units, or an error will be raised. This invalidates previously generated raw forecasts and distribution files.
- Forecast filenames now include the name of the model, even for configurations that only have a single model.
- Raw CFSv2 forecasts are stored under a subdirectory for each forecast generation month. This avoids problems with slow directory access for directories with tens of thousands of files, but requires existing forecasts to be re-downloaded or manually rearranged.
- Raw CFSv2 forecasts use variable names of
tmp2monce extracted to netCDF. This is done to facilitate unit-checking in
- CFSv2 hindcast access and fitting is brought under the umbrella of the makefile generator, rather than relying on externally-provided fits as the current configuration does. This substantially increases the size of the Makefile. More work may be necessary to mitigate this.
I've also tested the default CFSv2-only configuration under this branch, spinning up a new model from scratch and viewing hotspot maps using the existing GeoServer configuration.