pywatershed.PRMSSoilzone#

class pywatershed.PRMSSoilzone(control, discretization, parameters, dprst_evap_hru, dprst_seep_hru, hru_impervevap, hru_intcpevap, infil_hru, sroff, potet, transp_on, snow_evap, snowcov_area, budget_type=None, calc_method=None, adjust_parameters='warn', verbose=None)[source]#

PRMS soil zone.

Implementation based on PRMS 5.2.1 with theoretical documentation given in the PRMS-IV documentation:

Markstrom, S. L., Regan, R. S., Hay, L. E., Viger, R. J., Webb, R. M., Payn, R. A., & LaFontaine, J. H. (2015). PRMS-IV, the precipitation-runoff modeling system, version 4. US Geological Survey Techniques and Methods, 6, B7.

Parameters:
  • control (Control) – a Control object

  • discretization (Parameters) – a discretization of class Parameters

  • parameters (Parameters) – a parameter object of class Parameters

  • dprst_evap_hru (Union[str, Path, ndarray, Adapter]) – Evaporation from surface-depression storage for each HRU

  • dprst_seep_hru (Union[str, Path, ndarray, Adapter]) – Seepage from surface-depression storage to associated GWR for each HRU

  • hru_impervevap (Union[str, Path, ndarray, Adapter]) – HRU area-weighted average evaporation from impervious area for each HRU

  • hru_intcpevap (Union[str, Path, ndarray, Adapter]) – HRU area-weighted average evaporation from the canopy for each HRU

  • infil_hru (Union[str, Path, ndarray, Adapter]) – Infiltration to the capillary and preferential-flow reservoirs, depth on HRU area

  • sroff (Union[str, Path, ndarray, Adapter]) – Surface runoff to the stream network for each HRU

  • potet (Union[str, Path, ndarray, Adapter]) – Potential ET for each HRU

  • transp_on (Union[str, Path, ndarray, Adapter]) – Flag indicating whether transpiration is occurring (0=no;1=yes)

  • snow_evap (Union[str, Path, ndarray, Adapter]) – Evaporation and sublimation from snowpack on each HRU

  • snowcov_area (Union[str, Path, ndarray, Adapter]) – Snow-covered area on each HRU prior to melt and sublimation unless snowpack

  • budget_type (Optional[Literal[None, 'warn', 'error']]) – one of [None, “warn”, “error”]

  • calc_method (Optional[Literal['numba', 'numpy']]) – one of [“fortran”, “numba”, “numpy”]. None defaults to “numba”.

  • adjust_parameters (Literal['warn', 'error', 'no']) – one of [“warn”, “error”, “no”]. Default is “warn”, the code edits the parameters and issues a warning. If “error” is selected the the code issues warnings about all edited parameters before raising the error to give you information. If “no” is selected then no parameters are adjusted and there will be no warnings or errors.

  • verbose (Optional[bool]) – Print extra information or not?

__init__(control, discretization, parameters, dprst_evap_hru, dprst_seep_hru, hru_impervevap, hru_intcpevap, infil_hru, sroff, potet, transp_on, snow_evap, snowcov_area, budget_type=None, calc_method=None, adjust_parameters='warn', verbose=None)[source]#

Methods

__init__(control, discretization, ...[, ...])

advance()

Advance the Process in time.

calculate(time_length, **kwargs)

Calculate Process terms for a time step

description()

A dictionary description of this Process.

finalize()

Finalizes the Process, including output methods.

get_dimensions()

Get a tuple of dimension names for this Process.

get_init_values()

Get a dictionary of initialization values for each public variable.

get_inputs()

Get a tuple of input variable names for this Process.

get_mass_budget_terms()

Get a dictionary of variable names for mass budget terms.

get_parameters()

Get a tuple of parameter names for this Process.

get_restart_variables()

Get a list of restart varible names.

get_variables()

Get a tuple of (public) variable names for this Process.

initialize_netcdf([output_dir, ...])

Initialize NetCDF output.

output()

Output data to previously initialized output types.

output_to_csv(pth)

Save each output variable to separate csv file in specified path

set_input_to_adapter(input_variable_name, ...)

Attributes

dimensions

A tuple of parameter names.

init_values

A dictionary of initial values for each public variable.

inputs

A tuple of input variable names.

mass_budget_terms

A dictionary of variable names for the mass budget terms.

parameters

A tuple of parameter names.

restart_variables

A tuple of restart variable names.

variables

A tuple of public variable names.

advance()#

Advance the Process in time.

Returns:

None

calculate(time_length, **kwargs)#

Calculate Process terms for a time step

Parameters:

simulation_time – current simulation time

Return type:

None

Returns:

None

classmethod description()#

A dictionary description of this Process.

Return type:

dict

Returns:

All metadata for all variables in inputs, variables,parameters, and mass_budget_terms for this Process.

property dimensions: tuple#

A tuple of parameter names.

finalize()#

Finalizes the Process, including output methods. :rtype: None :returns: None

static get_dimensions()[source]#

Get a tuple of dimension names for this Process.

Return type:

tuple

static get_init_values()[source]#

Get a dictionary of initialization values for each public variable.

Return type:

dict

static get_inputs()[source]#

Get a tuple of input variable names for this Process.

Return type:

tuple

static get_mass_budget_terms()[source]#

Get a dictionary of variable names for mass budget terms.

static get_parameters()[source]#

Get a tuple of parameter names for this Process.

Return type:

tuple

static get_restart_variables()[source]#

Get a list of restart varible names.

Return type:

tuple

classmethod get_variables()#

Get a tuple of (public) variable names for this Process.

Return type:

tuple

property init_values: dict#

A dictionary of initial values for each public variable.

initialize_netcdf(output_dir=None, separate_files=None, budget_args=None, output_vars=None)#

Initialize NetCDF output.

Parameters:
  • output_dir – base directory path or NetCDF file path if separate_files is True

  • separate_files – boolean indicating if storage component output variables should be written to a separate file for each variable

  • output_vars – list of variable names to outuput.

Returns:

None

property inputs: tuple#

A tuple of input variable names.

property mass_budget_terms: dict#

A dictionary of variable names for the mass budget terms.

output()#

Output data to previously initialized output types. :rtype: None :returns: None

output_to_csv(pth)#

Save each output variable to separate csv file in specified path

property parameters: tuple#

A tuple of parameter names.

property restart_variables: tuple#

A tuple of restart variable names.

set_input_to_adapter(input_variable_name, adapter)#
property variables: tuple#

A tuple of public variable names.