Releases: NOAA-OWP/ngen
Releases · NOAA-OWP/ngen
0.3.0
What's Changed
- Bmi_Adapter cleanup, de-template by @PhilMiller in #646
- Move get_var_value_as_double up hierarchy, as it was inadvertently duplicated as a non-override by @PhilMiller in #677
- Ensure forcing path when file_pattern configured. by @robertbartel in #678
- Runtime debug information by @program-- in #679
- Improve error message for failure when opening CSV by @robertbartel in #684
- Resolve successive config mismatched NGenConfig.h by @program-- in #682
- Symlink data directories into build directories by @program-- in #691
- Automated "test_all" target and Code Coverage by @program-- in #690
- Enable testing with out-of-tree builds by @PhilMiller in #692
- CMake: Fix old mistake to make ctest pass independent of working directory by @PhilMiller in #693
- Update README.md to include --info usage by @ZacharyWills in #697
- Download Boost source from Sourceforge instead of Jfrog to avoid registration wall by @PhilMiller in #699
- Add timing output to the end of ngen runs by @PhilMiller in #696
- Update vendored cfe submodule by @aaraney in #664
- update vendored evapotranspiration module by @hellkite500 in #707
- update vendored soilfreezethaw module by @hellkite500 in #708
- Update vendored topmodel submodule commit by @hellkite500 in #709
- Update to Boost 1.79 across the board by @PhilMiller in #713
- Automate building external libraries by @program-- in #694
- Add errno reporting to bad file reads by @hellkite500 in #715
- Json property additions by @hellkite500 in #716
- Add .clang-format and .clang-tidy files by @program-- in #701
- Refactor NetCDF Find Module by @program-- in #727
- CMake: NetCDF find module hotfix by @program-- in #733
- Ensure NOAH-OWP-Modular can be built manually by @program-- in #731
- Modify CMakelists.txt so that test_bmi_fortran can find iso_c by @stcui007 in #735
- Loosen dependency on netcdf-cxx4 to 4.3.0 from 4.3.1 by @PhilMiller in #740
- Bundle netcdf-cxx4 and build it as needed by @PhilMiller in #741
- Routing and time configuration refactor by @hellkite500 in #743
- Ngen automated test by @stcui007 in #726
- Formulation configuration refactoring by @hellkite500 in #745
- Improving documentation on BMI and BMI multi-formulation configuration by @robertbartel in #754
- Remove global include from FindUDUNITS2.cmake by @program-- in #725
- CI: pin ubuntu runner to 20.04 to avoid sanitizer failures by @hellkite500 in #767
- Parallel run with one proc w/o partition file by @stcui007 in #721
- provide option to skip initializing and add general build flags to sub-module build by @hellkite500 in #769
- Fix for embedded Python interpreter issues on macOS by @robertbartel in #755
- GitHub actions upgrade by @joshkotrous in #772
- Refactor Formulation classes to reduce duplication and over-compilation by @PhilMiller in #770
- Refactor: BMI adapters' virtual destructor hierarchy and general cleanup by @program-- in #750
- catch formulation errors and report feature and timestep by @hellkite500 in #778
- Add missing override specifiers to quiet warnings by @PhilMiller in #779
- Fix minor issues in tests by @PhilMiller in #780
- Update PET and Topmodel to get bug, sanitizer/valgrind, and -Werror fixes by @PhilMiller in #785
- Update CFE, PET, and Topmodel again for -Werror fixes by @PhilMiller in #786
- Treat compiler warnings as errors by @PhilMiller in #781
- Layer and DomainLayer Formulation Management by @hellkite500 in #752
- Update documentations for the latest ngen by @stcui007 in #742
- Resolve several minor bugs by @program-- in #791
- Update workflows to Ubuntu 22.04 by @PhilMiller in #792
- Formulation cleanup by @PhilMiller in #796
- Fix the few most pressing warnings reported by -Wall by @PhilMiller in #797
- Support numpy/python 32 bit float type names by @hellkite500 in #800
- Drop fatal error else case when trying to update submodules by @hellkite500 in #802
- ci: fix macos brew include paths. differ based on arch by @aaraney in #804
- Running NextGen at CONUS Scale - A Step by Step Instruction by @stcui007 in #794
- Delete defunct DataSelector classes by @PhilMiller in #807
- Delete never-implemented stub definition of AsyncDataProvider by @PhilMiller in #808
- Update csv2catchmentnetcdf.py issue #710 by @Ben-Choat in #711
- Replace old macros with consistent NGEN_WITH_FOO by @PhilMiller in #814
- Grid Data Selector for Uniform Structured Grids by @program-- in #803
- re-throw exceptions as std::runtime_error with original error by @hellkite500 in #801
- Running ngen on CONUS with Routing: Build, Realization Configs, Routing Config, and Documentation by @stcui007 in #805
- Clean up code for Formulation in advance of Coastal introduction by @PhilMiller in #815
- Fix common typos by @PhilMiller in #821
- Drop 'using std::shared_ptr' from high-level header by @PhilMiller in #822
- Routing test: Minor cleanups by @PhilMiller in #823
- Fix NetCDF file close error running MPI with NetCDF forcing by @stcui007 in #819
- Fix warnings from -Wsuggest-override by @PhilMiller in #827
- Fix warnings about non-virtual destructors for non-BMI classes with virtual methods by @PhilMiller in #830
- Update both BMI C++ header copies to reflect virtual destructor by @PhilMiller in #832
- #570: Remove 'uses_forcing_file' and 'forcing_file'(_path) by @PhilMiller in #826
- ci: fix troute build by @aaraney in #833
- Submod updates by @hellkite500 in #836
- Update ET submodule for .gitignore by @PhilMiller in #838
- Bmi_Adapter: drop 'StreamHandler output' by @PhilMiller in #840
- CMake: update documentation for
ngen_add_test
by @program-- in #841 - Bmi_Adapter: drop unused 'allow_exceed_end_time' member by @PhilMiller in #842
- Misc cleanup: 'using namespace' and unnecessary 'friend' by @PhilMiller in #844
- Forcings Engine Data Provider Base Interface by @program-- in #839
- chore: change permissions to 644 by @aaraney in #847
- chore(cmake): fail if
numpy>=2.0.0
is detected by @aaraney in #856 - Add
const
specifiers to various virtual member functions by @program-- in #849 - Minor changes to Forcings Engine Data Provider for derived implementations by @program-- in #851
- Fix output_root by @stcui007 in #855
- Remove duplicate outputs of realization config in MPI computation by @stcui007 in #866
- Lumped Forcings Engine Data Provider by @program-- in #845
- Don't reuse global model params by @hellkite500 in #873
- Fix Forcings Engine test compile definition for
test_all
by @program-- in #874 - Include git commit ID in configuration summary by @program-- in #875
- Use
brew --prefix
to resolve the correct plat...
Hydrofabric (v 2.0) support
This version supports use of the hydrofabric release v2.0.
Additional features and functionalities added, and code refactoring and cleanup are also included in this pre-release version.
What's Changed
- Increase and allow configurability of precision in output from BMI formulations by @robertbartel in #344
- Fixed image for test model run by @ZacharyWills in #378
- Quiet option fix by @hellkite500 in #376
- Fix workflow failure from wrong python version by @mattw-nws in #379
- validate number of aorc columns before reading. fixes #372 by @hellkite500 in #373
- update external submodule to noah-owp-modular by @SnowHydrology in #382
- Added SOURCE_LOC macro by @mattw-nws in #388
- C++ BMI Module Integration by @mattw-nws in #343
- precip_rate now computed using the right unit of temperature by @hellkite500 in #389
- require c99 standard compiler to build cfe and topmodel libs by @madMatchstick in #391
- Fix 384, prioritize use of BMI potential evapotranspiration by @hellkite500 in #387
- Fix 393 by @hellkite500 in #394
- Setting up environment for Evapotranspiration submodule in ngen by @stcui007 in #383
- Bmi parameter initialization integration by @hellkite500 in #368
- Support look-back for nest BMI module input values and bootstrapping of defaults. by @robertbartel in #346
- bump t-route submodule commit to include bugfixes by @hellkite500 in #399
- GCC 11 fixes by @mattw-nws in #397
- Gitpod env files by @mattw-nws in #398
- Update INSTALL.md for #281 by @ZacharyWills in #363
- disable waterbody execution in pybind/troute test by @hellkite500 in #400
- Fix t-route test failure when cache is used by @hellkite500 in #402
- Fix a build error when Python is turned off by @stcui007 in #404
- Github action/workflow cleanup and refactor by @hellkite500 in #407
- allow the use of "all" to define catchment and nexus subsets by @hellkite500 in #409
- Improve action reliability: try --fix-missing as error suggests by @mattw-nws in #414
- Add SoilMoistureProfile and SoilFreeThaw as git submodule in ngen ext… by @champham in #412
- Unfied forcing rebase by @donaldwj in #406
- Fix output_variables by @mattw-nws in #415
- Adds pthreads dependency for UnitsHelper by @mattw-nws in #419
- Bmi array support by @hellkite500 in #405
- Optimize unit conversion by reusing
cv_converters
by @mattw-nws in #420 - Set tag to rockylinux:8 explicitly by @mattw-nws in #423
- Netcdf lumped usable by @mattw-nws in #417
- MPI Broadcast Call Bugfix by @mattw-nws in #424
- Change default forcing provider to CsvPerFeature, deprecate
Forcing
class by @mattw-nws in #426 - LRU Caching for NetCDF lumped format timeslice chunks by @mattw-nws in #421
- Added Python BMI docs by @mattw-nws in #427
- Deal with shared lib file not found failures due to OS file extension mismatch by @mattw-nws in #430
- Add tests for PET BMI module (replaces PR#401) by @stcui007 in #429
- Update t-route submod commit by @hellkite500 in #434
- Adding SLoTH as a default module in
extern
by @mattw-nws in #433 - Fix NetCDFPerFeatureDataProvider returning the same forcing for all catchments by @mattw-nws in #437
- Remove deprecated Forcing class dependency from legacy formulations by @stcui007 in #432
- Unit Conversion and Logging Tuneup by @mattw-nws in #438
- Partition optimization by @hellkite500 in #443
- Refactor forcing and data provider by @stcui007 in #446
- gcc-12 namespace fixes by @hellkite500 in #447
- ajk/cfe modifications by @ajkhattak in #448
- Correct minor automated test errors in introduced in #448 by @mattw-nws in #454
- Fix typo that would prevent file with units=
hours
from functioning … by @mattw-nws in #452 - Update INSTALL.md by @christophertubbs in #455
- Geojson optimization by @hellkite500 in #444
- Fix macOS runners - add
netcdf-cxx
andnetcdf-fortran
package to brew install by @mattw-nws in #458 - Fix a smattering of errors and warnings with newer compilers by @mattw-nws in #461
- Fix for #453 by @stcui007 in #460
- explicitly import iostream for print message in routing adapter by @hellkite500 in #469
- update to pybind 2.10.1 by @hellkite500 in #468
- Interim Fix Issue #451 by @mattw-nws in #457
- Update Noah to 9ede266 by @mattw-nws in #465
- Fix python segfaults by @hellkite500 in #470
- Refactor BMI model GetValue() function by @stcui007 in #467
- Build info and python runtime info by @mattw-nws in #476
- Set restriction on the number of partitions in partition generator by @stcui007 in #474
- Guard interpreter util by @stcui007 in #478
- Update github action set-output to use new environment file by @stcui007 in #479
- Fix Partition reading empty list for remote connections by @hellkite500 in #475
- remove some debug noise that pops up in the output by @hellkite500 in #471
- Update CFE to latest master by @mattw-nws in #483
- Passing catchment id to CatchmentAggrDataSelector by @stcui007 in #480
- Basic fix to make sure NetCDF files get closed by @mattw-nws in #485
- Fixing a minor bug - issue #449. by @stcui007 in #487
- Modify Formulation_Manager.hpp to parse forcing "file_pattern" by @stcui007 in #489
- Update iso c binding library, replace PR#490 by @stcui007 in #491
- dendridic|DENDRIDIC --> dendritic by @jameshalgren in #494
- Intel compiler support by @mattw-nws in #499
- Replace "move()" with "std::move()" in ngen code by @stcui007 in #500
- Handle windows CSV files on Linux by @mattw-nws in #501
- Changes to integrate t-route master branch by @mattw-nws in #502
- Updating iso_c__fortran_bmi by @stcui007 in #503
- Python bmi grid by @hellkite500 in #493
- fix t-route module build to install numpy by @hellkite500 in #516
- String passing fixes by @donaldwj in #520
- Fix potential char overflow bug by @hellkite500 in #515
- Test cleanup by @hellkite500 in #519
- Implement proper handling of dirent in FormulationManager, fixes #517 by @hellkite500 in #518
- Fixing test_routing_pybind workflow failures by @mattw-nws in #528
- Add stdexcept include to UnitsHelper header by @program-- in #524
- Implement bracketed unit parsing in forcing CSV headers by @program-- in #511
- Fortran bmi grid by @hellkite500 in #508
- t-route (master branch) docs update by @mattw-nws in #506
- Pin pyarrow to avoid crash in 12.x by @mattw-nws in #542
- Handle non-existent module filename extension reliably by @mattw-nws in #543
- Remove heuristics for finding Python and NumPy in favor of baseline find_package by @PhilMiller in #54...
NGen Framework v0.1.0
This is the first release of the NGen framework and represents the software used to produce the results presented at AGU2021.
Known issues and notable limitations in this first release:
- Gridded datasets and non-scalar BMI variables are not yet fully supported--only scalar variables are supported in and out of Formulations.
- C++ BMI Models are not yet supported (track PR #343!).
- Unit conversion is not applied at all boundaries, such as routing handoff.