gridmarthe.write_marthe_grid
- gridmarthe.write_marthe_grid(ds, fileout='grid.out', varname=None, file_permh=None, nan_value=9999.0, title=None, dims=None, force_full_grid=False, debug=False)[source]
Write Dataset as MartheGrid v9 file
Notes
ds should contain x, y, dx, dy, attrs[[‘title’, ‘original_dimensions’]] in case of error, please use
gridmarthe.reset_geometry()first. When providing a path tofile_permhargument, this is called automatically.A good pratice is to provide the permh file when writing dataset to marthegrid format.
>>> gm.write_marthe_grid(ds, 'toto.out', file_permh='./mymodel/model.permh')
WARNING: This function was developped to write parameters grids to marthe format. Not to recreate simulation results (hydraulic head at several timesteps for example) as gridmarthe format. This means that this function should not be used for dataset with several timesteps. Example, to create a new initial hydraulic head file based on simulation, select the timestep in dataset before writing.
>>> ds = ds_head.isel(time=-1) >>> gm.write_marthe_grid(ds, 'mymodel.charg')
- Parameters:
ds (xr.Dataset) – dataset containing data, coordinates (x,y[,z]), dx,dy and dimensions (in attrs). Data needs to be a reduced horizontal grid (see
stack_coords()if needed).fileout (str) – filename to write
varname (str, optional) – variable name (key) containing values. Default is None and variable will be inferred from dataset (first non coordinates/dimension variable name).
file_permh (str, optional) – path to the permh file corresponding to current Marthe model. Needed to recreate full dimension if NaN dropped before.
nan_value (float, optional) – custom value to fillna, when using a permh field to reset geometry
title (str, optional) – title written in marthe grid file
dims (list of array, optional) –
list containing array of dimension for every grid (ie len(dims) > 1 if nested grid)
format is [[x_main_grid, y_main_grid, z_main_grid], [x_nested_1, …], …]
eg. [[354,252,2], [182,156,2]] - if only main grid : [[nx,ny,nz]] - if None (default, dims will be parsed from ds.attrs[‘original_dimensions’] which is added when read with
gridmarthe.load_marthe_grid(). If not present (lost in some computation for example), please use py:func:gridmarthe.reset_geometry or provide list of dims manually.force_full_grid (bool, optional) – force to write full grid (even if grid is constant). Default is False By default, Marthe will write a compact form of grid is constant.
debug (bool, optional) – print debug informations. Default is False
- Returns:
status (int.) – 0 if everything’s ok. 1 otherwise.