imod.mf6.Drainage#

class imod.mf6.Drainage(*_, **__)[source]#

The Drain package is used to simulate head-dependent flux boundaries. https://water.usgs.gov/ogw/modflow/mf6io.pdf#page=67

Parameters:
  • elevation (array of floats (xr.DataArray)) – elevation of the drain. (elev)

  • conductance (array of floats (xr.DataArray)) – is the conductance of the drain. (cond)

  • concentration (array of floats (xr.DataArray, optional)) – if this flow package is used in simulations also involving transport, then this array is used as the concentration for inflow over this boundary.

  • concentration_boundary_type (({"AUX", "AUXMIXED"}, optional)) – if this flow package is used in simulations also involving transport, then this keyword specifies how outflow over this boundary is computed.

  • print_input (({True, False}, optional)) – keyword to indicate that the list of drain information will be written to the listing file immediately after it is read. Default is False.

  • print_flows (({True, False}, optional)) – Indicates that the list of drain flow rates will be printed to the listing file for every stress period time step in which “BUDGET PRINT” is specified in Output Control. If there is no Output Control option and PRINT FLOWS is specified, then flow rates are printed for the last time step of each stress period. Default is False.

  • save_flows (({True, False}, optional)) – Indicates that drain flow terms will be written to the file specified with “BUDGET FILEOUT” in Output Control. Default is False.

  • observations ([Not yet supported.]) – Default is None.

  • validate ({True, False}) – Flag to indicate whether the package should be validated upon initialization. This raises a ValidationError if package input is provided in the wrong manner. Defaults to True.

  • repeat_stress (Optional[xr.DataArray] of datetimes) – Used to repeat data for e.g. repeating stress periods such as seasonality without duplicating the values. The DataArray should have dimensions ("repeat", "repeat_items"). The repeat_items dimension should have size 2: the first value is the “key”, the second value is the “value”. For the “key” datetime, the data of the “value” datetime will be used. Can also be set with a dictionary using the set_repeat_stress method.

__init__(elevation, conductance, concentration=None, concentration_boundary_type='aux', print_input=False, print_flows=False, save_flows=False, observations=None, validate: bool = True, repeat_stress=None)[source]#

Methods

__init__(elevation, conductance[, ...])

cleanup(dis)

Clean up package inplace.

clip_box([time_min, time_max, layer_min, ...])

Clip a package by a bounding box (time, layer, y, x).

copy()

from_file(path, **kwargs)

Loads an imod mf6 package from a file (currently only netcdf and zarr are supported).

from_imod5_data(key, imod5_data, ...[, ...])

Construct a drainage-package from iMOD5 data, loaded with the imod.formats.prj.open_projectfile_data() function.

get_non_grid_data(grid_names)

This function copies the attributes of a dataset that are scalars, such as options.

get_period_varnames()

get_regrid_methods()

is_clipping_supported()

is_empty()

Returns True if the package is empty- for example if it contains only no-data values.

is_grid_agnostic_package()

is_regridding_supported()

is_splitting_supported()

isel()

mask(mask)

Mask values outside of domain.

regrid_like(target_grid, regrid_cache[, ...])

Creates a package of the same type as this package, based on another discretization.

render(directory, pkgname, globaltimes, binary)

Render fills in the template only, doesn't write binary data

sel()

set_repeat_stress(times)

Set repeat stresses: re-use data of earlier periods.

to_netcdf(*args[, mdal_compliant, crs])

Write dataset contents to a netCDF file.

write(pkgname, globaltimes, directory[, ...])

Write package to file

write_binary_griddata(outpath, da, dtype)

write_blockfile(pkgname, globaltimes, ...)

write_text_griddata(outpath, da, dtype)

Attributes

auxiliary_data_fields

dataset