flopy.utils.datafile module¶
Module to read MODFLOW output files. The module contains shared abstract classes that should not be directly accessed.
-
class
Header
(filetype=None, precision='single')[source]¶ Bases:
object
The header class is an abstract base class to create headers for MODFLOW files
-
class
LayerFile
(filename, precision, verbose, kwargs)[source]¶ Bases:
object
The LayerFile class is the abstract base class from which specific derived classes are formed. LayerFile This class should not be instantiated directly.
-
get_alldata
(mflay=None, nodata=-9999)[source]¶ Get all of the data from the file.
Parameters: - mflay (integer) – MODFLOW zero-based layer number to return. If None, then all all layers will be included. (Default is None.)
- nodata (float) – The nodata value in the data array. All array values that have the nodata value will be assigned np.nan.
Returns: data – Array has size (ntimes, nlay, nrow, ncol) if mflay is None or it has size (ntimes, nrow, ncol) if mlay is specified.
Return type: numpy array
Notes
Examples
-
get_data
(kstpkper=None, idx=None, totim=None, mflay=None)[source]¶ Get data from the file for the specified conditions.
Parameters: - idx (int) – The zero-based record number. The first record is record 0.
- kstpkper (tuple of ints) – A tuple containing the time step and stress period (kstp, kper). These are zero-based kstp and kper values.
- totim (float) – The simulation time.
- mflay (integer) – MODFLOW zero-based layer number to return. If None, then all all layers will be included. (Default is None.)
Returns: data – Array has size (nlay, nrow, ncol) if mflay is None or it has size (nrow, ncol) if mlay is specified.
Return type: numpy array
Notes
if both kstpkper and totim are None, will return the last entry
Examples
-
get_kstpkper
()[source]¶ Get a list of unique stress periods and time steps in the file
Returns: out – List of unique kstp, kper combinations in binary file. kstp and kper values are presently zero-based. Return type: list of (kstp, kper) tuples
-
get_times
()[source]¶ Get a list of unique times in the file
Returns: out – List contains unique simulation times (totim) in binary file. Return type: list of floats
-
plot
(axes=None, kstpkper=None, totim=None, mflay=None, filename_base=None, **kwargs)[source]¶ Plot 3-D model output data in a specific location in LayerFile instance
Parameters: - axes (list of matplotlib.pyplot.axis) – List of matplotlib.pyplot.axis that will be used to plot data for each layer. If axes=None axes will be generated. (default is None)
- kstpkper (tuple of ints) – A tuple containing the time step and stress period (kstp, kper). These are zero-based kstp and kper values.
- totim (float) – The simulation time.
- mflay (int) – MODFLOW zero-based layer number to return. If None, then all all layers will be included. (default is None)
- 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)
- **kwargs (dict) –
- pcolor : bool
- Boolean used to determine if matplotlib.pyplot.pcolormesh plot will be plotted. (default is True)
- colorbar : bool
- Boolean used to determine if a color bar will be added to the matplotlib.pyplot.pcolormesh. Only used if pcolor=True. (default is False)
- contour : bool
- Boolean used to determine if matplotlib.pyplot.contour plot will be plotted. (default is False)
- clabel : bool
- Boolean used to determine if matplotlib.pyplot.clabel will be plotted. Only used if contour=True. (default is False)
- grid : bool
- Boolean used to determine if the model grid will be plotted on the figure. (default is False)
- masked_values : list
- List of unique values to be excluded from the plot.
- file_extension : str
- Valid matplotlib.pyplot file extension for savefig(). Only used if filename_base is not None. (default is ‘png’)
Returns: Return type: None
Notes
Examples
>>> import flopy >>> hdobj = flopy.utils.HeadFile('test.hds') >>> times = hdobj.get_times() >>> hdobj.plot(totim=times[-1])
-
to_shapefile
(filename, kstpkper=None, totim=None, mflay=None, attrib_name='lf_data')[source]¶ - Export model output data to a shapefile at a specific location
- in LayerFile instance.
Parameters: - filename (str) – Shapefile name to write
- kstpkper (tuple of ints) – A tuple containing the time step and stress period (kstp, kper). These are zero-based kstp and kper values.
- totim (float) – The simulation time.
- mflay (integer) – MODFLOW zero-based layer number to return. If None, then layer 1 will be written
- attrib_name (str) – Base name of attribute columns. (default is ‘lf_data’)
Returns: Return type: None
Notes
Examples
>>> import flopy >>> hdobj = flopy.utils.HeadFile('test.hds') >>> times = hdobj.get_times() >>> hdobj.to_shapefile('test_heads_sp6.shp', totim=times[-1])
-