Hydrofabric (v 2.0) support
Pre-release
Pre-release
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 #540
- Fix ASan-reported errors in Fortran BMI testing by @PhilMiller in #548
- #539: Fix ASAN-triggers in GIUH testing by @PhilMiller in #553
- Broadcast scalar input variable values to expected array structure by @PhilMiller in #556
- Remove defunct GCC 4.8 support by @PhilMiller in #560
- #362: Remove repeated searches for Boost that were picking up mixed versions by @PhilMiller in #564
- Compare Python & NumPy versions from configure/build time to runtime by @PhilMiller in #558
- GeoPackage input support by @program-- in #522
- Fix compiler guards in multi bmi tests (fixes #578) by @hellkite500 in #579
- #559: Import definitions of data() and span() from Boost Core by @PhilMiller in #576
- Use
span
to avoid copying WKB geometry data by @PhilMiller in #583 - #536: Add AddressSanitizer flags to CI tests by @PhilMiller in #580
- Shift UDUNITS to solely external installation by @PhilMiller in #561
- Correct typo in function name avaliable -> available by @PhilMiller in #589
- CMake: Delete dead code by @PhilMiller in #584
- Only fiddle with BOOST_ROOT if it's not been set naturally by @PhilMiller in #591
- Add support for a user-specified root output directory by @program-- in #531
- Refactor tests to remove dependencies on internal models by @mattw-nws in #594
- Remove Hymod and Simple_Lumped by @mattw-nws in #595
- Removes top-level tshirt models by @mattw-nws in #597
- Try updating Github action to v3, since v2 was long-since deprecated by @PhilMiller in #607
- Remove hunting for Python venv in working directory and parents by @PhilMiller in #592
- Remove giuh and reservoir kernels by @mattw-nws in #598
- Remove
et_calc
and pdm03 by @mattw-nws in #599 - Strictly follow C++14 standard by @PhilMiller in #606
- Disable t-route integration test on macOS, see #505 by @mattw-nws in #611
- Fix a bug in output variable name list, replacing (PR#577) by @stcui007 in #610
- Drown
using namespace std
by @PhilMiller in #603 - In-memory, multi-dimensional structure by @program-- in #533
- Use safer string functions by @stcui007 in #616
- Tests and cleanup for #610 (
output_variables
fallback behavior) by @mattw-nws in #613 - Allow passing feature properties to BMI models through
model_params
by @program-- in #588 - Remove native/internal LSTM model by @mattw-nws in #600
- Bug fix mpi compile by @TrupeshKumarPatel in #620
- Fix a couple more missing std:: found with grep by @PhilMiller in #622
- Fix using the forcing file header error. by @stcui007 in #624
- Modify CMake-Python config interaction and add config summary output by @program-- in #626
- Add documentation for model_params, output_variables, and output_header_fields by @program-- in #623
- Remove custom time unit conversion in favor of UDUNITS by @stcui007 in #633
- Fix a missing "std::" in NGen.cpp for make_unique pointer involving r… by @stcui007 in #636
- GeoPackage
divide_id
attribute hotfix by @mattw-nws in #625 - Work around GCC8's failure to properly parse initializer list literals by @PhilMiller in #642
- NetCDFPerFeatureForcingProvider split implementation by @mattw-nws in #641
- Initial CMake Refactoring by @program-- in #631
- Refactor and clean up partition generator by @PhilMiller in #609
- Enable Python Support by Default by @program-- in #645
- Null/Constant Forcing Provider by @stcui007 in #601
- Refactor get_available_variable_names to return a span rather than a concrete vector by @PhilMiller in #644
- Replace unused boost/bind.hpp with std's by @PhilMiller in #648
- Update test routing config to alleviate pydantic errors by @program-- in #654
- Set CMake NetCDF support to default to OFF by @program-- in #653
- Implement a logging function by @stcui007 in #643
- Multi level hydrofabric by @donaldwj in #615
- Bmi conventions doc by @mattw-nws in #507
- Hydrofabric refactor to support latest hydrofabric data model by @hellkite500 in #665
- Test Cleanup by @hellkite500 in #666
- Partiton tool with geopackage by @hellkite500 in #671
- refactor bmi adapters into their own library by @hellkite500 in #672
- Sqlite null fix by @hellkite500 in #673
- Fix HY_Features_MPI to match feature-type behavior of HY_Features from PR #665 by @PhilMiller in #674
- Minor GPKG/SQLite Reorganization by @program-- in #670
New Contributors
- @SnowHydrology made their first contribution in #382
- @champham made their first contribution in #412
- @ajkhattak made their first contribution in #448
- @jameshalgren made their first contribution in #494
- @program-- made their first contribution in #524
- @PhilMiller made their first contribution in #540
- @TrupeshKumarPatel made their first contribution in #620
Full Changelog: 0.1.0...v0.2.0