Releases: DassHydro/smash
Version 1.1.0-rc2
What's Changed
- FIX: checking control size in case of ANN by @nghi-truyen in #342
- MAINT: Switch to macOS-13 env by @inoelloc in #346
- Fix missing return lcurve pnd by @maximejay in #344
- Fix grc structure (model for reunion) by @maximejay in #343
- Fix: Initialise wjreg by @maximejay in #348
- FIX: update grc_mlp structure following the change on grc structure by @nghi-truyen in #347
- Fix: initialise wjreg_fast before return the result by @maximejay in #350
- ENH: add test to check the forward pass of default hybrid structures by @nghi-truyen in #352
- MAINT: Developer guide and pyproject.toml by @inoelloc in #354
- Fix wrong slice size on model.response_data.q when checking available discharges by @maximejay in #361
- GR with imperviousness by @asjeb in #349
- ENH: add implcit neural ode solver for gr4 model by @nghi-truyen in #358
Full Changelog: v1.1.0-rc1...v1.1.0-rc2
Version 1.1.0-rc1
What's Changed
- Maintenance/1.0.x by @inoelloc in #208
- Maintenance/1.0.x by @inoelloc in #229
- ENH/MAINT: enhance metric computation method by @nghi-truyen in #216
- Rebase of MJA pull request on main by @inoelloc in #241
- MAINT: macos py312 wheels by @inoelloc in #242
- DOC: Add pypi badge for smash by @nghi-truyen in #256
- MAINT: Sphinx v7.4 compatibility by @inoelloc in #258
- MAINT: Add Python3.12 unit tests by @inoelloc in #261
- FIX: Check descriptor missing values on active cells by @inoelloc in #263
- DOC: Update contributor guide summary by @inoelloc in #264
- FIX: Correct the filling of the control vector in case of distributed mapping by @inoelloc in #266
- FIX: scaling layer for bounded outputs from activation layer by @nghi-truyen in #268
- FIX: docstring serr_sigma_parameters by @nghi-truyen in #274
- Internal fluxes by @asjeb in #232
- DOC: correct control_tfm documentation by @nghi-truyen in #277
- Fix crash in generate mesh if a well is present at a cell by @maximejay in #280
- DOC: add note to contributor guide for test-baseline by @nghi-truyen in #283
- Exponential store gr6 by @asjeb in #210
- ENH: set parameters condition outside active cell by @inoelloc in #287
- MAINT/ENH: move Fortran optimizers,
smash.multiple_optimize()
is deprecated by @nghi-truyen in #250 - MAINT: v1.0.2 release note by @inoelloc in #289
- ENH/MAINT: CNN regionalization,
smash.Net.add()
is deprecated by @nghi-truyen in #255 - manage kernel pip by @asjeb in #293
- DOC: Update getting started installation by @inoelloc in #296
- MAINT: Update release note by @inoelloc in #299
- ENH: new hybrid hydrological models using neural network and ODE-based system by @nghi-truyen in #294
- Check well in flwdir by @maximejay in #298
- FIX: fix baseline and add minor corrections to previous PRs by @nghi-truyen in #308
- FIX PR: apply suggestion changes from FC review regarding to hybird model branch by @nghi-truyen in #311
- ENH: new methods added to
smash.factory.Net
by @nghi-truyen in #312 - ENH: Add grc structure based on MJA dev by @inoelloc in #313
- ENH: add adaptive optimizers for all mappings by @nghi-truyen in #315
- MAINT: remove also dataset directories when using make doc-clean by @nghi-truyen in #319
- ENH: add callback signature for optimize method by @nghi-truyen in #318
- MAINT: remove cost options control info by @nghi-truyen in #320
- MAINT: change the default NN for ANN-based regionalization by @nghi-truyen in #321
- FIX: Rounding error with array slice with lat-lon raster by @inoelloc in #323
- FIX: Fix the exchange term in gr6/grc svg structure by @inoelloc in #324
- ENH: retrieve model parameters from control vector value by @nghi-truyen in #322
- Gr rainfall intensity by @asjeb in #325
- MAINT: Sparse optimize on only one structure by @inoelloc in #328
- FIX: reset random seed after setting random_state by @nghi-truyen in #331
- FIX: Update sink detection by @inoelloc in #326
- ENH: add n_iter key for callback and return_options optimize by @nghi-truyen in #332
- ENH: Add hybrid models for gr and loieau structures by @nghi-truyen in #327
- update internal fluxes by @asjeb in #333
- MAINT/FIX: add ps/es returns for gr4_ri and gr5_ri by @asjeb in #335
- MAINT/FIX: fix expressions for ps, es and gr in gr production by @nghi-truyen in #337
- ENH: Contour-based meshing with shapefiles by @inoelloc in #338
Full Changelog: v1.0.2...v1.1.0-rc1
Version 1.0.2
Highlights
-
Physiographic descriptor missing values
The handling of missing data in physiographic descriptors has been modified.smash
no longer accepts
missing data on active cells and returns an error on reading. -
Feasible domain on active cells
smash
no longer returns an error if the values of parameters or initial states on non-active cells are
outside the feasibility domain. -
Net scaling layer
Net scaling layer is now able to take the outputs from other activation functions (not only sigmoid) such
as softmax and tanh.
What's Changed
- Rebase of MJA pull request on main (#241) by @inoelloc in #245
- MAINT: Sphinx v7.4 compatibility by @inoelloc in #259
- DOC: Add pypi badge for smash by @inoelloc in #262
- FIX: Check descriptor missing valus on active cells by @inoelloc in #269
- DOC: Update contributor guide summary by @inoelloc in #270
- FIX: Correct the filling of the control vector in case of distributed mapping by @inoelloc in #271
- FIX: scaling layer for bounded outputs from activation layer by @inoelloc in #272
- FIX: docstring serr_sigma_parameters (#274) by @nghi-truyen in #275
- DOC: correct control_tfm documentation (#277) by @nghi-truyen in #278
- Fix crash in generate mesh if a well is present at a cell : infinite recursive loop. Just test if it is a well and cycle by @inoelloc in #281
- DOC: add note to contributor guide for test-baseline (#283) by @nghi-truyen in #284
- ENH: set parameters condition outside active cell by @inoelloc in #288
- MAINT: v1.0.2 release note by @inoelloc in #290
- manage kernel pip by @asjeb in #297
- MAINT: Update release note by @inoelloc in #300
Full Changelog: v1.0.1...v1.0.2
Version 1.0.1
-
NumPy 2.0 support
smash
now supports NumPy2.0
and is backwards compatible to NumPy1.24
-
Math / Num documentation
Adjustments have been made in the forward & inverse problems section, as well as in the forward structure
section, where flowcharts of the forward model and hydrological modules have been added. -
Fortran character limit
The character limit for directory paths and gauge codes has been increased from 128 to 256 and 20 to 128,
respectively.
Version 1.0.0
-
PyPI installation
smash
is now available on PyPI with the following distributionhydro-smash
. -
CPU parallel computation
CPU parallel computation in simulation and optimization. This has been made possible using the
OpenMP library, whose most of the directives are handled by Tapenade to
generate a parallel adjoint code. -
Memory management
The memory management has been improved in two critical sections:-
Atmospheric data storage
The memory management of atmospheric data has been improved by using sparse matrices to store
precipitation, potential evapotranspiration and snow data. -
Storage of variables during the adjoint code forward sweep
The time-stepping loop fills up the memory space during the forward sweep which can cause the code
to crash. To reduce the memory peak, checkpoints have been added during the time-stepping loop.
-
-
lat-lon meshing
It is now possible to work with spatial data whose unit is in degree. -
bayesian estimation
A bayesian estimation module has been added to perform parameter estimation and uncertainty quantification -
modular structure
The structure of the model has been modularised so that the snow, hydrological and routing modules can now
be selected independently. -
API redesign
The API has been redesigned. The essence remains the same, but there have been a lot of changes to the
names of methods and arguments and the way variables are passed to functions.
Version 1.0.0-rc2
v1.0.0 second pre-release
Version 1.0.0-rc1
v1.0.0 pre-release
Version 0.5.0
- Reading atmospheric data with YYYY/MM/DD access
- New regularization function
- Spatial disaggregation/aggregation of the input raster
- Fix bugs in mesh creation, signature calculation and regularization l-curve
Version 0.4.2
- Updated make commands in the makefile for consistency
- Automatic generation of the
py_mod_names
file during installation - Automatic search for Fortran files to wrap and differentiate, as well as generation of Fortran module dependencies
- Updated documentation
Version 0.4.1
- Migration of the
smash
repository from GitLab to GitHub - Prevent rebuilding the entire documentation in case of errors