Releases: ESCOMP/mizuRoute
cesm-coupling.n02_v2.1.4-standalone
Summary
No answer changes from the previous tag
A few enhancements were included
- User can specify minimum reach length for routing. For reach below this threshold, inflow is passed as outflow and lateral flow is added to that as normal.
- User can input lateral flow at the top of reach ONLY for headwater catchments as a option, so that reach routing happens.
- User can control History file time stamp can be control by specify where in the time step is used (0: start of time step, 86400: end of time step if time step is daily)
- User can specify time step convention in runoff (for now, start or end)
- runoff input specification in control file uses just file name with wild card (if multiple the netCDFs exist).
- Hanasaki (H06) reservoir scheme is enable
What's Changed
enhancement
- Enabling reach routing at headwater HRUs by @nmizukami in #467
- Pass through option and river length check by @nmizukami in #472
- history file time stamp flexibility by @nmizukami in #475
- Change in stand-alone runoff (and water management) input specification in control file by @nmizukami in #479
**Enabling Hanasaki reservoir **
- write lake parameters only for a lake id specified in control file in a log file by @nmizukami in #477
- H06 default parameters renamed by @nmizukami in #478
cleaning
- no need to use read function to get string by @nmizukami in #474
- typo by @nmizukami in #480
Full Changelog: cesm-coupling.n02_v2.1.3...cesm-coupling.n02_v2.1.4-standalone
cesm-coupling.n02_v2.1.3
Summary
No answer changes from the previous tag
A few enhancements were included
- hru id in vector runoff input can be long integer.
- inflow for each reach can be output in history file
- For cesm-coupling, the other routing methods can be used, in addition to IRF routing.
What's Changed
makefile cleanup
- Clean up and Makefile update by @nmizukami in #459
- makefile cleanups by @nmizukami in #461
- Making intel-oneAPI compiler work by @nmizukami in #464
cleanup
- PIO sync for potentially better robustness for gnu/cray-mpich and a few cleanups by @nmizukami in #453
New functions
- Adding parameterized floodplain by @nmizukami in #449 - floodplain effect is not implemented yet
- Allow long integer HRU id for vector runoff input by @nmizukami in #457
- Allow more flexible time stamp in forcing input (start, end or middle of time step) by @nmizukami in #460 - require it to be specified in control file
- Add upstream inflow in history output by @nmizukami in #462 - require it to be specified in control file
CESM-coupling
- enabling to use the other routing methods than IRF by @nmizukami in #448
- mizuRoute_control.py change required by @nmizukami in #451
Full Changelog: cesm-coupling.n02_v2.1.2...cesm-coupling.n02_v2.1.3
cesm-coupling.n02_v2.1.2
What's Changed
Model physics
- capacity to scale or offset the inputs (runoff, evaporation, and precipitation) by @ShervanGharari in #412
- connect lake module to the other routing methods by @nmizukami in #421
- connect lake module to kwt routing routine by @nmizukami in #427
- Adding a few channel properties and water take option for other routing by @nmizukami in #428
- Enable to run at user specified routing time step rather than using coupling_frequency by @nmizukami in #429
- IRF water take by @nmizukami in #430
Bugfixes
- Fix a restart issue for a single core by @nmizukami in #415
- set runoff depth unit correctly in meta by @nmizukami in #422
- Fix error in writing history_file variable for gauge-only history file in restart file by @nmizukami in #423
- Fixed upstream reach detection for cesm-coupling branch by @nmizukami in #441
Miscellaneous improvement
- Refactoring related to PIO decomposition initialization by @nmizukami in #431
Documentation
- Fixing readthedoc setup by @nmizukami in #435
- new readthedoc requirement by @nmizukami in #433
- conf.py path fixed in .readthedoc.yaml by @nmizukami in #434
- cheyenne build readme update by @nmizukami in #442
- Remove testmod fixes for ccs_config by @ekluzek in #416
Library updates
- Externals update by @nmizukami in #432
- update manage_externals version by @nmizukami in #440
Full Changelog: cesm-coupling.n01_v2.1.0...cesm-coupling.n02_v2.1.2
cesm-coupling.n01_v2.1.0
What's Changed
CTSM coupling
- Temporary implementation of the array to export from rof to lnd by @nmizukami in #274
- Enabling water abstraction with Irrigation demand by @nmizukami in #288
- exporting volume (volr) to land model and handling negative qgwl by @nmizukami in #297
- Direct_to_outlet option for negative flow handling by @nmizukami in #313, #315
- Add a custom grid option for cesm-coupling by @ekluzek in #345
- Add HDMA lake ntopo file settings by @ekluzek in #329
- Add more lake options to the cesm-coupling control file by @ekluzek in #335
- Updates on sample control file for cesm-coupling by @nmizukami in #312
CESM system testing
- CTSM-mizuRoute test config update by @nmizukami in #258
- Fix rpointer file IO by @nmizukami in #269
- Add some lake tests to the test list update lake dataset and fix some coupled issues by @ekluzek in #371
- Some fixes so can run on izumi (including nag compilier) by @ekluzek in #391
Time management change
- independent simulation time-step and forcing time-step by @nmizukami in #336
- Including t_bound variable in a history file and resulting changes by @nmizukami in #394
- modified datetime class and keep track of time in second (not day) for both forcing and simulation time by @nmizukami in #398, #402
Model physics
- Doll lake formulation improvement by @ShervanGharari in #331.
- implementation of water balance computation for reach and drainage area by @nmizukami in #318, #319, #326
- reach/lake water balance error check and minor fix/cleanup in lake and irf routing by @nmizukami in #361
- water can be abstracted from residual reach volume and outflow by @nmizukami in #362
- enabling water-take and water-injection for other routing methods by @nmizukami in #311
- default minimum discharge by @nmizukami in #321
User specified history output frequency
- User specified history write frequency by @nmizukami in #353
- Reading aggregated history variables from restart netcdf by @nmizukami in #364
Gauge location output capability
- Incorporating gage meta (ascii) into output by @nmizukami in #279
- history file name convention for gauge only output by @nmizukami in #393
Continue run capability
- initial implementation for continuous_run by @nmizukami in #260
- history and restart file name control by @nmizukami in #261
- Enabling opening of the last history file for continue run by @nmizukami in #271
Run with multiple routing methods
- Running with multiple routing schemes by @nmizukami in #264
- Added accumRunoff as a part of routing scheme options with routOpt=0 by @nmizukami in #265
- Enabled reach volume IO for KW, MC and DW routings from/to restart file by @nmizukami in #317
Code style, cleanup
- Clean-up temporal arrays for mpi scattering by @nmizukami in #268
- Cleaning by @nmizukami in #278
- fixed wrong variable names - cmessage and message by @nmizukami in #322
- rename variable name by @nmizukami in #320
- use select type to compact the generic routine by @nmizukami in #373
- use abstract route class by @nmizukami in #405
- miscellaneous changes by @nmizukami in #272
- pio resource cleanup by @nmizukami in #287
- Minor naming changes by @nmizukami in #316
- default value for continue_run parameter by @nmizukami in #284
- subset history file writing and improving history writing efficiency by @nmizukami in #286
- history file name change by @nmizukami in #401
Miscellaneous improvement
- Add number of MPI tasks to restart file to ensure they are the same when reading by @ekluzek in #251
- Abort if a variable in control file include TAB by @nmizukami in #314
- Write git information in history file global attributes by @nmizukami in #363, #370
Bugfixes
- Fixed the restart error when single core is used. by @nmizukami in #282
- bugfixes in init and run routines for ctsm-coupling by @nmizukami in #360
- cesm-coupling bugfix by @nmizukami in #374
- Fix single core run error in cesm-coupling mode. by @nmizukami in #379
- Fix cesm restarting: by @nmizukami in #381
- Fix lake volume initialization(use maximum storage) by @nmizukami in #408
- move fileVar (variable I/O control) changes in a separate subroutine by @nmizukami in #333
Documentation
- Readthedoc updates by @nmizukami in #365, #366
- change testCase data link by @nmizukami in #367
Full Changelog: cesm-coupling.n00_v2.0.1...cesm-coupling.n01_v2.1.0
version 1.2.3
What's Changed
Bugfix (science changes):
- Fixed Diffusive wave downstream boundary condition by @nmizukami in #303
- Fixed default value for newFileFrequency by @nmizukami in #325
- Upstream reach detection using goodBas (upstream reach connected with valid hru area) by @nmizukami in #346
- detect maximum unit-hydrograph size for restart writing by @nmizukami in #341
- Flow adjustment to ensure river volume is always positive or zero by @nmizukami in #348
New features:
- csv reading capability with new csv object by @nmizukami in #295
- reading water take and observed flow by @nmizukami in #298, #305
- capability of water abstraction/injection during routing by @nmizukami in #300
- Add reach volume in restart state file and history file (for all the routing methods) by @nmizukami in #299, @nmizukami in #347
- Separate runoff input time step and simulation time step by @nmizukami in #340
- Direct insertion of observed discharge at gauge points for user specified period by @nmizukami in #328, #302, @nmizukami in #348, #354, @nmizukami in #357,
- Added reach volume for history and restart files by @nmizukami in #347
Minor updates (cleanup, doc updates, non-science etc.):
- README for building instruction by @nmizukami in #350
- minor update: readthedoc link update by @nmizukami in #294
- Code style, variable name cleanup by @nmizukami in #304 #342
- including git information (version, branch, hash) in history file global attributes @nmizukami in #351
Full Changelog: v1.2.2...v1.2.3
v1.2.2
What's Changed
Bugfix (science changes):
- restart error for KWT without overland routing case by @nmizukami in #197
- revise Gamma distribution for overland routing by @h294liu in #190
New features:
- Cold start specification ("coldstart" or "none") by @nmizukami in #194
- Implementing KW, DW and MC routing by @nmizukami in #232
- musking-cunge routing implementation by @nmizukami in #233
- Completed kinematic wave routing implementation by @nmizukami in #236
- Diffusive wave routing implementation by @nmizukami in #241
- minor fixes MC and KW routines by @nmizukami in #237
- Output with multiple active routing options by @nmizukami in #263
- Added accumRunoff as a part of routing scheme options with routOpt=0 by @nmizukami in #290
- history file output option improvement by @nmizukami in #257
- Restart file content change - time information by @nmizukami in #195, #199
Minor updates (cleanup, doc updates, non-science etc.):
- restart and history frequency specification by @nmizukami in #291
- Cleanups by @nmizukami in #198, #249,
- Updated documented by @nmizukami in #292
- Updated .gitignore by @nmizukami in #242
- runoff fillvalue issue by @nmizukami in #165
New Contributors
Full Changelog: v1.2.1...v1.2.2
Hybrid parallel, Lake module, and CTSM coupling
What's Changed
Lake routine implementation
- Feature/mpi pio read2ndfile by @ShervanGharari in #145
- Cesm coupling by @nmizukami in #155
- Feature/mpi pio by @ShervanGharari in #158
- Feature/mpi pio by @ShervanGharari in #162
- implementing lake module by @ShervanGharari in #124
- feature/mpi-pio.lake_update_Nov by @ShervanGharari in #159
- implementation of multiple lake model, their parameters and past time step simulation for lakes by @ShervanGharari in #168
- Implementing Hanasaki with memory by @ShervanGharari in #182
- change integer to logical for flag by @nmizukami in #193
- big merges lake routines (mainly) from feature/mpi-pio by @nmizukami in #206
- Feature/mpi pio.hype1 by @ShervanGharari in #225
- Refine flag control for lake simulation by @ShervanGharari in #234
- lake type flags to be read in read_streamSeg from river network data by @ShervanGharari in #235
New routing methods and bugfixes
- Kinematic wave Euler options by @nmizukami in #174
- Adding muskingum-cunge and diffusive wave routing methods by @nmizukami in #244
- minor dw_route changes by @nmizukami in #247
- accum_runoff routine cleanup by @nmizukami in #204
- revise Gamma distribution in develop branch by @nmizukami in #205
- kinematic wave tracking by @nmizukami in #217
- Simplifying way of handling total upstream inflow information in irf by @nmizukami in #178
CESM coupling
- A couple simple fixes by @ekluzek in #146
- Fixed issue #152 - control file update through user_ctl_mizuRoute by @nmizukami in #156
- Added conus HDMA network variable setup in buildnml by @nmizukami in #160
- Added global MERIT-Hydro network variable setup in buildnml by @nmizukami in #171
- Fixed an issue on rpointer writing by @nmizukami in #176
- Use create subroutine to define new history file by @nmizukami in #180
- Added CONUS MERIT-Hydro network variable setup in buildnml @nmizukami in #202
- Fix history archival regular expression by @nmizukami in #179
- Component name for mizuRoute must all be in lowercase by @nmizukami in #181
- Sample control file for ctsm-mizuroute by @nmizukami in #185
- Change based on the latest CTSM version by @nmizukami in #200
- time management in coupler interface code by @nmizukami in #211
- Update on testlist by @nmizukami in #229
- Modification on test cases from Erik and case insensitive in control file by @nmizukami in #240
I/O
- mizuRoute history file name fix by @nmizukami in #123
- Feature/mpi pio restart by @nmizukami in #173
- small refactoring history file output module by @nmizukami in #175
- Temporary fix on history file frequency by @nmizukami in #177
- Adding netcdf sync by @nmizukami in #201
- Resolve pio iosystem confusion causing PIO netcdf writing by @nmizukami in #203
style, comment changes, minor bugfixes
- just one space that I contributed! by @ShervanGharari in #163
- Cleanup and bugfix by @nmizukami in #166
- pfafstetter code handling by @nmizukami in #172
- minor cleanups by @nmizukami in #187
- style and comment changes by @nmizukami in #207
- remove broadcasting variables by @nmizukami in #208
- minor style changes by @nmizukami in #213
- small cleanups by @nmizukami in #215
- time dimension in restart files by @nmizukami in #214
- minor changes in domain decomposition routine by @nmizukami in #230
- minor cleanup by @nmizukami in #245
- one bugfix and one small change to remove warning when compling with ifort by @nmizukami in #246
- small corrections by @nmizukami in #250
Time management (stand-alone)
- Adding datetime data class and modification on state data in write_restart_pio.f90 by @nmizukami in #191
- User-defined constructor for datatime derived type by @nmizukami in #209
- Use datetime object throughout the codes by @nmizukami in #210
- made input checks work for sub-daily timesteps; cleaned up error msg by @wknoben in #222
Miscellaneous
- gitignore update by @nmizukami in #231
- remove user specific statement by @nmizukami in #192
New Contributors
v1.2.1
Enhancements:
- Large integer is allowed for runoff HRU ID.
- Improved netcdf I/O performance.
- Robust mapping file handling. debug option to mapping file check.
- Performance improvement for IRF routine/flow_accumulation routines.
Bugfixes:
- ixPrint for on-screen debug printing is now working with format.
- error in basin unit hydrograph routing at hourly time steps
- error in reach unit hydrograph construction. make sure sum of unit hydrograph is one.
- time utility routine - error in julian day computation, error in parsing time string.
- basin unit hydrograph restart reading.
New features:
- a simple water abstraction/injection capability for IRF and KWT routines
- restart write options - Annual, monthly, daily, Last, Specified, and Never. timing in restart file name indicates restart timing not drop-off timing.
- Modified control specification: added single history file output option
- New control specification for output netcdf options (classic, 64bit_offset, netcdf4). default netcdf option: netcdf4
- New control specification for calendar, time unit, and fillvalue in runoff netcdf
- output file name definition - case_name.h.yyyy-mm-dd-sec.nc (history file) and case_name.r.yyyy-mm-dd-sec.nc (restart file)
Others:
- various minor code refactoring and cleaning
JAMES2021
This is snapshot of mpi version of mizuRoute code, used for publication:
Mizukami et al., 2021: A vector-based river routing model for Earth System Models: Parallelization and global applications, Journal of Advances in Modeling Earth Systems.
v1.2
mizuRoute v1.2
New features
- OpenMP parallel
- Output variable selection
- Improved output performance
- Control file modified (see readthedocs control file page)
- Online documents (with testCase data): https://mizuroute.readthedocs.io/en/latest/