Release Notes¶
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 thefrom_example_sim()
method. These are: Falling Creek Reservoir, Grosse Dhuenn, Sparkling Lake, Warm Lake, and Woods Lake. MultiSim
class for runningGLMSim
objects in parallel.GLMOutputs
class for retrieving outputs files.NMLParam
,NMLBlock
, andNML
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! 🚀