gridmarthe changelog
[0.5.3] - 2026-10-03
Fixed
hotfix: reading grid with timestep -9999. and a pastp file
[0.5.0] - 2026-10-02
Added
grid creation (from xy bounds or shape) / beta for nested grid
functions
create_grid_domainfor regular grids from array dimensions,create_grid_from_shapefor regular grids from shapefile,add_zoomto add nested grids with array dimensions,add_zoom_from_shapeto add nested grids from shapefile (still beta)
function
create_ugridto define arrays and attributes following ugrid netCDF convention, from a gridmarthe dataset. This allow better interactions with GIS software QGIS for vizualization and manipulation (see MeshLayer).sel_by_coordsfunction to allow selection of a subset of the grid with x, y [z] coordinates, on a 1D-spatial dataset, without requiringassign_coords(see #25)get_dims_from_dsto recreatedimsarray from dataset dimensionsmask_nest_boundto retrieve nested grid bounds (halo) indices in gridmore options from
load_marthe_gridforncmart scripts, see #23
Changed
dates argument in
gridmarthe.load_marthe_gridis renamedtimesto be consistent withtimedimensiongm.plot_nested_gridcalling withoutassign_coordsis now allowedlayerandtimedimensions can be query ingm.plot_nested_griddropna()now detectvarnameandnan_value.revert change from v0.4.0 in
assign_coords: sorting y in descending order cause error when slicing the xarray.Dataset, this is removed. See #24improvement of matplotlib args/kwargs in cross section plot, see !14
Deprecated
subset_by_coordsis deprecated in favor ofsel_by_coords
Fixed
read int/float times in timestep file (pastp)
compute geometry with other variable names (names are now arguments with defaults)
time dimension in vtk writer
search_zone now returns a list of indices if query with xy on multilayer grids
gridmarthe.compute_geometryon single layer models (nozcoordinate), see 0c3986ereading file with path length > 132 characters now allow (see #21)
Fortran IO error is now returned to python caller for better exception management (see !13)
reading grid with
shallow_onlyis now allowed for nested grids (see #22)fixes for raster export without time dimensions (see !12)
drop_time in load_marthe_grid now use ‘squeeze’ instead of ‘drop’ to avoid dropping variable using this dimension, see #26
Tests
refactor tests, improved coverage
add development CI
[0.4.0] - 2026-05-27
Added
add: drainage direction computation from legacy fortran sources
add: river network computation from legacy fortran sources #7
add:
drop_timeargument togridmarthe.load_marthe_gridto drop dummy time dimension when reading parameter grids.
Changed
change: default to
varname=Nonewhen writing a marthe grid file (and guess first non dim variable)change: use integer as default dummy time dimension for parameters grid, instead of ‘1850-01-01’ fake date.
refact: code refactoring/reorganization with new fortran subroutines
Fixed
add/fix: reading grid with bad metadata (variable name, number of grids/layers) is now possible with fortran core module (fix_metada subroutine)
fix: reading single grid output, even without metada (
read_shallowparameter) 1st non dimension/coord variable will be selected. add.lower()security for user’s variablefix: using
load_marthe_gridwith a Path object #14fix: bad return array with
get_active_mask#13fix: order of y coordinates in stack coords #11
fix: ncmart script #9
fix: netcdf attrs conflict with missing value #16
Removed
drop support for python 3.10. Minimal requirement is now python 3.11
[0.3.0] - 2025-12-09
Added
add: beta support for vtk export, based on vtkwriters from ComPass code python ecosystem
add: support for reading/plotting velocity field :
gm.read_velocity,gm.plot_veloc_quiveradd: beta support for cross section
add: options to
ncmartscript:--dump(-H) to mimicncdump -Hcommand (netcdf CLI tools).--attrs(-a) to add global attributestreat input if already in netcdf fmt (modify it, with scale factor or attrs, to 2D, etc)
Changed
change: attributes in netcdf to be more CF-Conventions compliant:
add crs attributes using
pyrpoj.CRS().to_cf()for QGIS view compatibilty –> add argumentepsgingm.load_grid_martheadd
compressattribute for zone https://cfconventions.org,fix attributes for coordinates x,y,z / add argument
full_3dto set z attributesforce attributes for x,y,z to be kept when
gm.assign_coords
Fixed
fix: cleanmgrid with conda #8
[0.2.0] - Unreleased
Changed
nanvalargument inload_marthe_gridis rename tonan_valueas inwrite_marthe_gridkeepligcolargument inload_marthe_gridis rename toadd_col_rowto be more coherent withadd_id_grid
Fixed
Removed
xr.Dataset.martclass accessor is removed. It will be included as wrapper in future marthe python library.
[0.1.3] - 2025-09-02
Added
add geometry functions (
get_mask_array,compute_geometry)add reprojection functions (still experimental)
add
martshpscript to easily convert a marthe grid file into a shp/gpkg file in command lineadd automatic tests
Changed
change: rename function to write raster:
to_raster()instead ofwrite_raster_from_da()change: zone index is reset when the
drop_nanoption is used inload_grid_marthe(). A new variable ‘zone_all’ store the old index for thereset_geometry()methodcode refactoring (lecsem module and global organization)
Fixed
minor fixes in plot method
[0.1.2] - 2025-01-09
Change build to meson
fix scripts ‘ncmart’ and ‘cleanmgrid’ paths
update write method
[0.1.1] - 2024-11-03.
first release as a stand alone package
[0.0.1] - Unreleased
Unreleased, internal dev at BRGM - 2021-2024
Use fortran sources from Marthe with f2py to read grids, single layer, homogeneous grids (1st version from JP Vergnes)
Extend to multilayer, nested grid (A Manlay)
Python wrappers for easy read operations (AM)
Add write method in Fortran sources, scan var and wrappers (AM)
Add command line scripts, and some derived treatments (surface layer, rescale, etc.)