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
GLMSimclass for configuring and running GLM simulations. - Five example simulations for initialising
GLMSimvia thefrom_example_sim()method. These are: Falling Creek Reservoir, Grosse Dhuenn, Sparkling Lake, Warm Lake, and Woods Lake. MultiSimclass for runningGLMSimobjects in parallel.GLMOutputsclass for retrieving outputs files.NMLParam,NMLBlock, andNMLclasses for storing parameters and validation logic.- AED NML support (see
glmpy.nml.aed_nmlsub-module). f90nmlbackend 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_variablestoInitProfilesBlock,NMLReader._default_converters, andNMLWriter._default_converters - Added
subm_elevtoInflowBlock,NMLReader._default_converters, andNMLWriter._default_converters - Added
list_lenparameter toNMLWriter.write_nml_listwhich inserts line breaks to the comma-separated output after a specified number of items.list_lenparameter also added toNMLWriterandGLMNML. - Removed
NMLWriter.write_nml_arrayandNMLReader.read_nml_array. Usage replaced inglm_nmlandnmlmodules withNMLWriter.write_nml_list/NMLReader.read_nml_list
0.3.1 (13 December, 2024)¶
- Added a
plotsmodule for visualising GLM's output files with Matplotlib LakePlotterclass for plotting thelake.csvfileNCProfileclass for plotting a timeseries profile of variables in theoutput.ncfilematplotlibandnetcdf4dependencies added- Added a how-to documentation page for the
plotsmodule - Added a
example_sims.sparklingsub-module for running the Sparkling Lake simulation load_nmlfunction for returning a dictionary of the Sparkling NMLload_bcsfunction for returning a pandas dataframe of the boundary condition datarun_simfunction for running the Sparkling simulation- Added
InvertedTruncatedPyramidclass to thedimensionsmodule - Deprecation warning added to
InvertedTruncatedSquarePyramid
0.2.0 (24 June, 2024)¶
- The
nmlmodule has been split intonmlandglm_nmlsub-modules. - The
glm_nmlsub-module provides high-level NML tools and implements all the existing classes from thenmlmodule in0.1.3. - Classes from
0.1.3are automatically imported usingfrom glmpy import nmlto maintain backwards compatibility until1.0.0. - Class names from
0.1.3will be deprecated by1.0.0in 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
nmlsub-module provides low-level tools for reading and writing any NML file (GLM or AED). NMLWriterconverts a nested Python dictionary to an NML file.NMLReaderconverts an NML file to a nested Python dictionary.- Both classes provide functionality to explicitly control how each parameter is read/written to file.
InvertedTruncatedConeclass added to thedimensionsmodule to calculate morphometry parameters for simple circular water bodies.
0.1.3 (22 March, 2024)¶
- glm-py released! 🚀