Repository navigation
Add Coastal Forcing - #212
Conversation
ab666b6 to
0dcc2a0
Compare
There was a problem hiding this comment.
@laurscham in addition to the individual comments listed here in this first round of review, the branch needs to be rebased against development. It would be better to do that rebase first, before addressing the comments.
|
@laurscham in addition to the individual comments listed above in this first round of review, the branch needs to be rebased against |
|
For managing the PRs of the 2 bases, Then when review cycles are finished and this is merged into |
505bd2f to
5d2a699
Compare
|
Rebased against |
Closing the other PR that points to |
…alues coming out of forcing engine on regular grids
…for the different config files. the bmi_model change is related to a crash that was being experienced when this wasn't commented out. the pyproject.toml change might not be needed, it was so the config templates get installed when building the rte
…ed and re-used between coastal forecasts
…grid type to control this conditional) and update README about this.
…steps argument to ConfigOptions and BMI model classes, and for scalability, avoid randomizing name of intermediary weights file to allow re-use.
…ew coastal gridded module)
c913f92 to
27e03ba
Compare
|
This was tested by multiple members of the team and found to produce the expected coastal forcing files, and they were ingestible into the coastal model. |
There was a problem hiding this comment.
This was tested by multiple members of the team and found to produce the expected coastal forcing files, and they were ingestible into the coastal model.
EDIT: the equivalent coastalforcing-pw-2 branch for testing on ParallelWorks contains the same changes as this branch, relative to its respective base. That branch does not need to be maintained but was needed as a mirror for testing in that environment.
Mirror PR #212 for PW (Add Coastal Forcing)
Modifications to generate forcing data on a grid and output LDASOUT-style netcdfs of the forcing data for ingestion by coastal models.
Edited by @mxkpp
About
This primarily adds a new module
NextGen_Forcings_Engine_BMI.coastal.griddedwhich is leveraged bynwm-rte'snwm-rte/bin_mounted/ngen_rte/coastal/make_coastal_forcing.pyin PR: NGWPC/nwm-rte#36.This also overhauls
run_bmi_forcing.pyto provide a high-level interface into leveraging the new module.Some auxiliary changes were needed in
config.py,model.py, and other core files in order to accommodate the needs of the coastal gridded workflow.Not all Configurations are Supported
Not all configurations are supported.
For example, the default configuration file for Puerto Rico AnA uses CONUS MRMS data instead of Puerto Rico MRMS data. This causes the PR AnA to crash in the gridded forcing workflow.
T0 vs T1
For coastal modeling workflows, T0 must exist in the atmospheric forcing timeseries grids. So here, an optional parameter
write_t0was added to cause an additional T0 record to be written to the NetCDF file.In this case, T0 has identical forcing values as T1. This method of copying the T1 data to T0 was necessary since some of the underlying forecast products do not provide a T0 state.
Inputs
For required static input data, see
scripts/setup_data_coastal.shin thenwm-coastalrepository.Usage
See: NGWPC/nwm-rte#36
Handling CONUS (large domain)
Warmup
A "warmup" mode is provided to handle the large memory requirements of generating ESMF weights files for large domains such as CONUS. The warmup writes weights to disk one product at a time, then quits. After the warmup runs, then the weights files are available for reuse for forecasts.
Additions
Removals
Changes
Testing
ngen-forcingpytests were ran from thenwm-rteDev Container:( cd src/ngen-forcing && mpirun -n 2 pytest )and( cd src/ngen-forcing && pytest )make_coastal_forcing.pyfrom the relatednwm-rtePR was ran: Add Coastal Forcing nwm-rte#36Screenshots
Notes
Todos
Checklist
Testing checklist
Target Environment support