Release Notes¶
glm-py¶
0.5.0 (10 September, 2025)¶
v0.5.0
provides a new API for glm-py that overhauls almost all existing modules. Notable changes and additions include:
- The GLMSim
class for configuring and running GLM simulations.
- Five example simulations for initialising GLMSim
via the from_example_sim()
method. These are: Falling Creek Reservoir, Grosse Dhuenn, Sparkling Lake, Warm Lake, and Woods Lake.
- MultiSim
class for running GLMSim
objects in parallel.
- GLMOutputs
class for retrieving outputs files.
- NMLParam
, NMLBlock
, and NML
classes for storing parameters and validation logic.
- AED NML support (see glmpy.nml.aed_nml
sub-module).
- f90nml
backend for improved reading and writing of NML files.
- GLM version updated to 3.3.3
(built distribution only).
- New package logo ❤️.
0.4.0 (17 January, 2025)¶
- Added
restart_variables
toInitProfilesBlock
,NMLReader._default_converters
, andNMLWriter._default_converters
- Added
subm_elev
toInflowBlock
,NMLReader._default_converters
, andNMLWriter._default_converters
- Added
list_len
parameter toNMLWriter.write_nml_list
which inserts line breaks to the comma-separated output after a specified number of items.list_len
parameter also added toNMLWriter
andGLMNML
. - Removed
NMLWriter.write_nml_array
andNMLReader.read_nml_array
. Usage replaced inglm_nml
andnml
modules withNMLWriter.write_nml_list
/NMLReader.read_nml_list
0.3.1 (13 December, 2024)¶
- Added a
plots
module for visualising GLM's output files with Matplotlib LakePlotter
class for plotting thelake.csv
fileNCProfile
class for plotting a timeseries profile of variables in theoutput.nc
filematplotlib
andnetcdf4
dependencies added- Added a how-to documentation page for the
plots
module - Added a
example_sims.sparkling
sub-module for running the Sparkling Lake simulation load_nml
function for returning a dictionary of the Sparkling NMLload_bcs
function for returning a pandas dataframe of the boundary condition datarun_sim
function for running the Sparkling simulation- Added
InvertedTruncatedPyramid
class to thedimensions
module - Deprecation warning added to
InvertedTruncatedSquarePyramid
0.2.0 (24 June, 2024)¶
- The
nml
module has been split intonml
andglm_nml
sub-modules. - The
glm_nml
sub-module provides high-level NML tools and implements all the existing classes from thenml
module in0.1.3
. - Classes from
0.1.3
are automatically imported usingfrom glmpy import nml
to maintain backwards compatibility until1.0.0
. - Class names from
0.1.3
will be deprecated by1.0.0
in favour of a new naming convention that ensures forwards compatibility with AED. Warnings are raised to encourage you to migrate to the new class names. - The new
nml
sub-module provides low-level tools for reading and writing any NML file (GLM or AED). NMLWriter
converts a nested Python dictionary to an NML file.NMLReader
converts an NML file to a nested Python dictionary.- Both classes provide functionality to explicitly control how each parameter is read/written to file.
InvertedTruncatedCone
class added to thedimensions
module to calculate morphometry parameters for simple circular water bodies.
0.1.3 (22 March, 2024)¶
- glm-py released! 🚀