Modflow#

class hydromodpy.modeling.modflow.Modflow(geographic: object, model_folder: str = 'HydroModPy_outputs', model_name: str = 'Default', bin_path: str = 'bin', box: bool = True, sink_fill: bool = False, sim_state: str = 'steady', plot_cross: bool = True, cross_ylim: list = [], check_grid: bool = True, recharge=0.001, runoff=None, first_clim: str = 'mean', dis_perlen: bool = False, nlay: int = 1, lay_decay: float = 1.0, bottom: float = None, thick: float = 100.0, verti_hk=None, verti_sy=None, verti_ss=None, hk_value=0.0864, sy_value: float = 0.1, ss_value: float = 1e-05, hk_decay: list = [0.0, None, False, []], sy_decay: list = [0.0, None, False, []], ss_decay: list = [0.0, None, False, []], vka: float = 1.0, exdp: float = 1, well_coords: list = [], well_fluxes: list = [], cond_drain: float = None, sea_level=None, bc_left: float = None, bc_right: float = None)[source]#

Bases: object

Class Modflow.

To build, run the hydrologic model and manage/format simulation outputs.

Initialize method.

Parameters#

geographicobject

Object geographic build by HydroModPy.

model_folderstr, optional

Path where the model will be store. The default is ‘HydroModPy_outputs’.

model_namestr, optional

Name of the model. The default is ‘Default’.

bin_pathstr, optional

Location folder of the modflow executables. The default is ‘bin’.

boxbool, optional

True if you want run the model on the square area of the watershed. The default is True.

sink_fillbool, optional

If True, package drain is desactivate on pit. The watertable can create lake on pit. The default is False.

sim_statestr, optional

‘steady’ or ‘transient’. simulation state. The default is ‘steady’.

plot_crossbool, optional

If True, display a cross section of the model. The default is True.

check_gridbool, optional

If True, check if the water connectivity is respected with the meshgrid. The default is True.

rechargefloat or list, optional

Recharge [L/T] as input of the model. The default is 0.001.

runofffloat or list, optional

Runoff [L/T] as an independent variable that can be added in post-processing to the model. The default is 0.0001.

first_climstr, optional

If ‘mean’: the first recharge value is the mean of the chronicle. If ‘first’: the first recharge value is the first value of the timeseries. If a ‘float’ : the first recharge is the fixed value. The default is ‘mean’.

nlayint, optional

Number of layer. The default is 1.

lay_decayfloat, optional

Modification of layer thickness for exponentially decreasing whit depth. The default is 1.

bottomfloat, optional

At this elevation, fix a flat no flow boundary at the bottom of the model. The default is None.

thickfloat, optional

Constant aquifer thickness of the the tickness of the model (if bottom is None). The default is 100.

verti_hklist, optional

Depth-dependent hydraulic conductivity. The default is None.

verti_sylist, optional

Depth-dependent specific yield. The default is None.

verti_sslist, optional

Depth-dependent specific storage. The default is None.

hk_valuefloat or 2D float

Fix the hydraulic conductivity value. default is 0.0864.

sy_valuefloat or 2D float, optional

Fixe the specific yield value. The default is 0.1.

ss_valuefloat or 2D float, optional

Fixe the specifc storage value. Activated for confined layers. The default is 1e-5 (1/day).

hk_decayfloat, optional

Exponential decay of hydraulic conductivity whith depth. The default is 0.

sy_decayfloat, optional

Exponential specific yield of hydraulic conductivity whith depth. The default is 0.

ss_decayfloat, optional

Exponential specific storage of hydraulic conductivity whith depth. The default is 0.

vkalist, optional

Ratio of horizontal to vertical hydraulic conductivity. The default is 1.

wells_coordlist

Inform the outlet coordinates of wells [lay,row,col]. Example for 2 wells: [ [1,20,30], [1,15,15] ]

wells_fluxeslist

Inform the fluxes [L3/T] for each stress-periods, for different wells. Example for 2 wells and 5 stress-periods: [ [-100,0,-100,0,-100], [-100,0,-100,0,-100] ]

cond_drainfloat, optional

Fix the conductance value of the drai (DRN) package. The default is None.

sea_levelfloat, optional

Fix head on each cell below this value. The default is None.

bc_leftfloat, optional

Fix head on the left border of the domain. The default is None.

bc_rightfloat, optional

Fix head on the right border of the domain. The default is None.

post_processing(model_modflow: object, watertable_elevation: bool = True, watertable_depth: bool = True, seepage_areas: bool = True, outflow_drain: bool = True, groundwater_flux: bool = True, groundwater_storage: bool = True, accumulation_flux: bool = True, persistency_index: bool = False, intermittency_yearly: bool = False, intermittency_monthly: bool = False, intermittency_weekly: bool = False, intermittency_daily: bool = False, export_all_tif: bool = False)[source]#

Create outputs files.

Parameters#

model_modflowobject

MODFLOW Python object.

watertable_elevationbool, optional

Write watertable elevation outputs. The default is True.

watertable_depthbool, optional

Write watertable depth outputs. The default is True.

seepage_areasbool, optional

Write seepage areas outputs. The default is True.

outflow_drainbool, optional

Write outflow drain outputs. The default is True.

groundwater_fluxbool, optional

Write groundwater flux outputs. The default is True.

groundwater_storagebool, optional

Write groundwater storage outputs. The default is True.

accumulation_fluxbool, optional

Write accumulation flux outputs. The default is True.

persistency_indexbool, optional

Write persistency index outputs. The default is False.

intermittency_monthlybool, optional

Write intermittency monthly outputs. The default is False.

intermittency_weeklybool, optional

Write intermittency weekly outputs. The default is False.

intermittency_dailybool, optional

Write intermittency daily outputs. The default is False.

export_all_tifbool, optional

Write all files .tif at each time step. The default is False.

pre_processing()[source]#

Pre-processing to build the hydrologic model.

Returns#

None.

processing(write_model: bool = True, run_model: bool = False, link_mt3dms: bool = False)[source]#

Run the hydrologic model.

Parameters#

write_modelbool, optional

Flag to write input files or not. The default is True.

run_modelbool, optional

Flag to run model or not. The default is False.

Returns#

success_modelbool

Flag to know if the simulation is done correctly.