flopy.modflow.mfhfb Module

mfhfb module. Contains the ModflowHfb class. Note that the user can access the ModflowHfb class as flopy.modflow.ModflowHfb.

Additional information for this MODFLOW package can be found at the Online MODFLOW Guide.

class flopy.modflow.mfhfb.ModflowHfb(model, nphfb=0, mxfb=0, nhfbnp=0, hfb_data=None, nacthfb=0, no_print=False, options=None, extension='hfb', unitnumber=None, filenames=None)

MODFLOW HFB6 - Horizontal Flow Barrier Package


model : model object

The model object (of type: class:flopy.modflow.mf.Modflow) to which this package will be added.

nphfb : int

Number of horizontal-flow barrier parameters. Note that for an HFB parameter to have an effect in the simulation, it must be defined and made active using NACTHFB to have an effect in the simulation (default is 0).

mxfb : int

Maximum number of horizontal-flow barrier barriers that will be defined using parameters (default is 0).

nhfbnp: int

Number of horizontal-flow barriers not defined by parameters. This is calculated automatically by FloPy based on the information in layer_row_column_data (default is 0).

hfb_data : list of records

In its most general form, this is a list of horizontal-flow barrier records. A barrier is conceptualized as being located on the boundary between two adjacent finite difference cells in the same layer. The innermost list is the layer, row1, column1, row2, column2, and hydrologic characteristics for a single hfb between the cells. The hydraulic characteristic is the barrier hydraulic conductivity divided by the width of the horizontal-flow barrier. (default is None). This gives the form of:

hfb_data = [
            [lay, row1, col1, row2, col2, hydchr],
            [lay, row1, col1, row2, col2, hydchr],
            [lay, row1, col1, row2, col2, hydchr],

nacthfb : int

The number of active horizontal-flow barrier parameters (default is 0).

no_print : boolean

When True or 1, a list of horizontal flow barriers will not be written to the Listing File (default is False)

options : list of strings

Package options (default is None).

extension : string

Filename extension (default is ‘hfb’).

unitnumber : int

File unit number (default is None).

filenames : str or list of str

Filenames to use for the package. If filenames=None the package name will be created using the model name and package extension. If a single string is passed the package will be set to the string. Default is None.


Parameters are supported in Flopy only when reading in existing models. Parameter values are converted to native values in Flopy and the connection to “parameters” is thus nonexistent.


>>> import flopy
>>> m = flopy.modflow.Modflow()
>>> hfb_data = [[0, 10, 4, 10, 5, 0.01],[1, 10, 4, 10, 5, 0.01]]
>>> hfb = flopy.modflow.ModflowHfb(m, hfb_data=hfb_data)
check(f=None, verbose=True, level=1)

Check package data for common errors.


f : str or file handle

String defining file name or file handle for summary file of check method output. If a sting is passed a file handle is created. If f is None, check method does not write results to a summary file. (default is None)

verbose : bool

Boolean flag used to determine if check method results are written to the screen

level : int

Check method analysis level. If level=0, summary checks are performed. If level=1, full checks are performed.




>>> import flopy
>>> m = flopy.modflow.Modflow.load('model.nam')
>>> m.dis.check()
static get_default_dtype(structured=True)

Get the default dtype for hfb data

static get_empty(ncells=0, aux_names=None, structured=True)

Get an empty recarray that correponds to hfb dtype and has been extended to include aux variables and associated aux names.

static load(f, model, ext_unit_dict=None)

Load an existing package.


f : filename or file handle

File to load.

model : model object

The model object (of type: class:flopy.modflow.mf.Modflow) to which this package will be added.

ext_unit_dict : dictionary, optional

If the arrays in the file are specified using EXTERNAL, or older style array control records, then f should be a file handle. In this case ext_unit_dict is required, which can be constructed using the function flopy.utils.mfreadnam.parsenamefile.


hfb : ModflowHfb object

ModflowHfb object (of type flopy.modflow.mfbas.ModflowHfb)


>>> import flopy
>>> m = flopy.modflow.Modflow()
>>> hfb = flopy.modflow.ModflowHfb.load('test.hfb', m)

Returns the maximum number of cell pairs that have horizontal flow barriers (developed for MT3DMS SSM package)


Plot 2-D, 3-D, transient 2-D, and stress period list (MfList) package input data


**kwargs : dict

filename_base : str

Base file name that will be used to automatically generate file names for output image files. Plots will be exported as image files if file_name_base is not None. (default is None)

file_extension : str

Valid matplotlib.pyplot file extension for savefig(). Only used if filename_base is not None. (default is ‘png’)

mflay : int

MODFLOW zero-based layer number to return. If None, then all all layers will be included. (default is None)

kper : int

MODFLOW zero-based stress period number to return. (default is zero)

key : str

MfList dictionary key. (default is None)


axes : list

Empty list is returned if filename_base is not None. Otherwise a list of matplotlib.pyplot.axis are returned.


>>> import flopy
>>> ml = flopy.modflow.Modflow.load('test.nam')
>>> ml.dis.plot()
to_shapefile(filename, **kwargs)

Export 2-D, 3-D, and transient 2-D model data to shapefile (polygons). Adds an attribute for each layer in each data array


filename : str

Shapefile name to write




>>> import flopy
>>> ml = flopy.modflow.Modflow.load('test.nam')
>>> ml.lpf.to_shapefile('test_hk.shp')

Write the package file.