flopy.utils.modpathfile module¶
Module to read MODPATH output files. The module contains two important classes that can be accessed by the user.
- EndpointFile (ascii endpoint file)
- PathlineFile (ascii pathline file)
-
class
EndpointFile
(filename, verbose=False)[source]¶ Bases:
object
EndpointFile Class.
Parameters: - filename (string) – Name of the endpoint file
- verbose (bool) – Write information to the screen. Default is False.
Examples
>>> import flopy >>> endobj = flopy.utils.EndpointFile('model.mpend') >>> e1 = endobj.get_data(partid=1)
-
get_alldata
()[source]¶ Get endpoint data from the endpoint file for all endpoints.
Returns: ra – A numpy recarray with the endpoint particle data Return type: numpy record array Notes
Examples
>>> import flopy >>> endobj = flopy.utils.EndpointFile('model.mpend') >>> e = endobj.get_alldata()
-
get_data
(partid=0)[source]¶ Get endpoint data from the endpoint file for a single particle.
Parameters: partid (int) – The zero-based particle id. The first record is record 0. (default is 0) Returns: ra – A numpy recarray with the endpoint particle data for endpoint partid. Return type: numpy record array Notes
Examples
>>> import flopy >>> endobj = flopy.utils.EndpointFile('model.mpend') >>> e1 = endobj.get_data(partid=1)
-
get_destination_endpoint_data
(dest_cells, source=False)[source]¶ Get endpoint data for set of destination cells.
Parameters: - dest_cells (list or array of tuples) – (k, i, j) or (node,) of each destination cell (zero-based)
- source (bool) – Boolean to specify is dest_cells applies to source or destination cells (default is False).
Returns: epdest – Slice of endpoint data array (e.g. EndpointFile.get_alldata) containing only data with final k,i,j in dest_cells.
Return type: np.recarray
Examples
>>> import flopy >>> e = flopy.utils.EndpointFile('modpath.endpoint') >>> e0 = e.get_destination_endpoint_data([(0, 0, 0), ... (1, 0, 0)])
-
get_maxid
()[source]¶ Get the maximum endpoint particle id in the file endpoint file
Returns: out – Maximum endpoint particle id. Return type: int
-
get_maxtime
()[source]¶ Get the maximum time in the endpoint file
Returns: out – Maximum endpoint time. Return type: float
-
get_maxtraveltime
()[source]¶ Get the maximum travel time in the endpoint file
Returns: out – Maximum endpoint travel time. Return type: float
-
kijnames
= ['k0', 'i0', 'j0', 'node0', 'k', 'i', 'j', 'node', 'particleid', 'particlegroup', 'particleidloc', 'zone0', 'zone']¶
-
write_shapefile
(endpoint_data=None, shpname='endpoints.shp', direction='ending', mg=None, epsg=None, sr=None, **kwargs)[source]¶ Write particle starting / ending locations to shapefile.
- endpoint_data : np.recarray
- Record array of same form as that returned by EndpointFile.get_alldata. (if none, EndpointFile.get_alldata() is exported).
- shpname : str
- File path for shapefile
- direction : str
- String defining if starting or ending particle locations should be considered. (default is ‘ending’)
- sr : flopy.utils.reference.SpatialReference instance
- Used to scale and rotate Global x,y,z values in MODPATH Endpoint file
- epsg : int
- EPSG code for writing projection (.prj) file. If this is not supplied, the proj4 string or epgs code associated with sr will be used.
kwargs : keyword arguments to flopy.export.shapefile_utils.recarray2shp
-
class
PathlineFile
(filename, verbose=False)[source]¶ Bases:
object
PathlineFile Class.
Parameters: - filename (string) – Name of the pathline file
- verbose (bool) – Write information to the screen. Default is False.
Examples
>>> import flopy >>> pthobj = flopy.utils.PathlineFile('model.mppth') >>> p1 = pthobj.get_data(partid=1)
-
get_alldata
(totim=None, ge=True)[source]¶ get pathline data from the pathline file for all pathlines and all times.
Parameters: - totim (float) – The simulation time. All pathline points for particle partid that are greater than or equal to (ge=True) or less than or equal to (ge=False) totim will be returned. Default is None
- ge (bool) – Boolean that determines if pathline times greater than or equal to or less than or equal to totim is used to create a subset of pathlines. Default is True.
Returns: plist – A list of numpy recarrays with the x, y, z, time, k, and particleid for all pathlines.
Return type: a list of numpy record array
Notes
Examples
>>> import flopy.utils.modpathfile as mpf >>> pthobj = flopy.utils.PathlineFile('model.mppth') >>> p = pthobj.get_alldata()
-
get_data
(partid=0, totim=None, ge=True)[source]¶ get pathline data from the pathline file for a single pathline.
Parameters: - partid (int) – The zero-based particle id. The first record is record 0.
- totim (float) – The simulation time. All pathline points for particle partid that are greater than or equal to (ge=True) or less than or equal to (ge=False) totim will be returned. Default is None
- ge (bool) – Boolean that determines if pathline times greater than or equal to or less than or equal to totim is used to create a subset of pathlines. Default is True.
Returns: ra – A numpy recarray with the x, y, z, time, k, and particleid for pathline partid.
Return type: numpy record array
Notes
Examples
>>> import flopy.utils.modpathfile as mpf >>> pthobj = flopy.utils.PathlineFile('model.mppth') >>> p1 = pthobj.get_data(partid=1)
-
get_destination_pathline_data
(dest_cells, to_recarray=False)[source]¶ Get pathline data for set of destination cells.
Parameters: - dest_cells (list or array of tuples) – (k, i, j) of each destination cell (zero-based)
- to_recarray (bool) – Boolean that controls returned pthldest. If to_recarray is True, a single recarray with all of the pathlines that intersect dest_cells are returned. If to_recarray is False, a list of recarrays (the same form as returned by get_alldata method) that intersect dest_cells are returned (default is False).
Returns: pthldest – Slice of pathline data array (e.g. PathlineFile._data) containing only pathlines with final k,i,j in dest_cells.
Return type: np.recarray
Examples
>>> import flopy >>> p = flopy.utils.PathlineFile('modpath.pathline') >>> p0 = p.get_destination_pathline_data([(0, 0, 0), ... (1, 0, 0)])
-
get_maxid
()[source]¶ Get the maximum pathline number in the file pathline file
Returns: out – Maximum pathline number. Return type: int
-
get_maxtime
()[source]¶ Get the maximum time in pathline file
Returns: out – Maximum pathline time. Return type: float
-
kijnames
= ['k', 'i', 'j', 'node', 'particleid', 'particlegroup', 'linesegmentindex', 'particleidloc', 'sequencenumber']¶
-
write_shapefile
(pathline_data=None, one_per_particle=True, direction='ending', shpname='endpoints.shp', mg=None, epsg=None, sr=None, **kwargs)[source]¶ Write pathlines to a shapefile
- pathline_data : np.recarray
- Record array of same form as that returned by EndpointFile.get_alldata(). (if none, EndpointFile.get_alldata() is exported).
- one_per_particle : boolean (default True)
- True writes a single LineString with a single set of attribute data for each particle. False writes a record/geometry for each pathline segment (each row in the PathLine file). This option can be used to visualize attribute information (time, model layer, etc.) across a pathline in a GIS.
- direction : str
- String defining if starting or ending particle locations should be included in shapefile attribute information. Only used if one_per_particle=False. (default is ‘ending’)
- shpname : str
- File path for shapefile
- mg : flopy.discretization.grid instance
- Used to scale and rotate Global x,y,z values in MODPATH Endpoint file.
- epsg : int
- EPSG code for writing projection (.prj) file. If this is not supplied, the proj4 string or epgs code associated with mg will be used.
kwargs : keyword arguments to flopy.export.shapefile_utils.recarray2shp
-
class
TimeseriesFile
(filename, verbose=False)[source]¶ Bases:
object
TimeseriesFile Class.
Parameters: - filename (string) – Name of the timeseries file
- verbose (bool) – Write information to the screen. Default is False.
Examples
>>> import flopy >>> tsobj = flopy.utils.TimeseriesFile('model.timeseries') >>> ts1 = tsobj.get_data(partid=1)
-
get_alldata
(totim=None, ge=True)[source]¶ get timeseries data from the timeseries file for all timeseries and all times.
Parameters: - totim (float) – The simulation time. All timeseries points for timeseries partid that are greater than or equal to (ge=True) or less than or equal to (ge=False) totim will be returned. Default is None
- ge (bool) – Boolean that determines if timeseries times greater than or equal to or less than or equal to totim is used to create a subset of timeseries. Default is True.
Returns: tlist – A list of numpy recarrays with the x, y, z, time, k, and particleid for all timeseries.
Return type: a list of numpy record array
Notes
Examples
>>> import flopy >>> tsobj = flopy.utils.TimeseriesFile('model.timeseries') >>> ts = tsobj.get_alldata()
-
get_data
(partid=0, totim=None, ge=True)[source]¶ get timeseries data from the timeseries file for a single timeseries particleid.
Parameters: - partid (int) – The zero-based particle id. The first record is record 0.
- totim (float) – The simulation time. All timeseries points for particle partid that are greater than or equal to (ge=True) or less than or equal to (ge=False) totim will be returned. Default is None
- ge (bool) – Boolean that determines if timeseries times greater than or equal to or less than or equal to totim is used to create a subset of timeseries. Default is True.
Returns: ra – A numpy recarray with the x, y, z, time, k, and particleid for timeseries partid.
Return type: numpy record array
Notes
Examples
>>> import flopy >>> tsobj = flopy.utils.TimeseriesFile('model.timeseries') >>> ts1 = tsobj.get_data(partid=1)
-
get_destination_timeseries_data
(dest_cells)[source]¶ Get timeseries data for set of destination cells.
Parameters: dest_cells (list or array of tuples) – (k, i, j) or nodes of each destination cell (zero-based) Returns: tsdest – Slice of timeseries data array (e.g. TmeseriesFile._data) containing only pathlines with final k,i,j in dest_cells. Return type: np.recarray Examples
>>> import flopy >>> ts = flopy.utils.TimeseriesFile('modpath.timeseries') >>> tss = ts.get_destination_timeseries_data([(0, 0, 0), ... (1, 0, 0)])
-
get_maxid
()[source]¶ Get the maximum timeseries number in the file timeseries file
Returns: out – Maximum pathline number. Return type: int
-
get_maxtime
()[source]¶ Get the maximum time in timeseries file
Returns: out – Maximum pathline time. Return type: float
-
kijnames
= ['k', 'i', 'j', 'node', 'particleid', 'particlegroup', 'particleidloc', 'timestep', 'timestepindex', 'timepointindex']¶