pywatershed.HruNodeFlowExchange#

class pywatershed.HruNodeFlowExchange(control, discretization, parameters, sroff_vol, ssres_flow_vol, gwres_flow_vol, imbalance_behavior='defer', input_aliases=None, verbose=None)[source]#

Process to map PRMS HRU outflows to lateral inflows on nodes.

This class maps PRMS HRU outflows to FlowGraph node inflows in the context of a Model. To map HRU outflows to PRMS segments, see HruSegmentFlowExchange.

__init__(control, discretization, parameters, sroff_vol, ssres_flow_vol, gwres_flow_vol, imbalance_behavior='defer', input_aliases=None, verbose=None)[source]#

Instantiate a HruNodeFlowExchange.

Parameters:
  • control (Control) – A Control object.

  • discretization (Parameters) – A discretizaion (Parameters) for PRMSChannel.

  • parameters (Parameters) – A Parameters for PRMSChannel.

  • sroff_vol (Union[str, Path, ndarray, Adapter, PrmsDynamicParameter]) – An Adaptable of volumetric surface runoff.

  • ssres_flow_vol (Union[str, Path, ndarray, Adapter, PrmsDynamicParameter]) – An Adaptable of volumetric subsurface reservoir flow.

  • gwres_flow_vol (Union[str, Path, ndarray, Adapter, PrmsDynamicParameter]) – An Adaptable of volumetric groundwater reservoir flow.

  • imbalance_behavior (Literal['defer', None, 'warn', 'error']) – one of [“defer”, None, “warn”, “error”] with “defer” being the default and defering to control.options[“imbalance_behavior”] when available. When control.options[“imbalance_behavior”] is not avaiable, imbalance_behavior is set to “warn”.

  • verbose (bool) – Boolean for the amount of messages to be printed.

Methods

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

Instantiate a HruNodeFlowExchange.

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()

Finalize the Process, output methods, and close input adapters.

get_dimensions()

Get a tuple of dimension names for this Process.

get_energy_budget_terms()

Get a dictionary of variable names for energy budget terms.

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()

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, ...)

Set input variables to adapter.current and manage the adapter.

Attributes

budget

Legacy property for backward compatibility - returns mass budget.

dimensions

A tuple of parameter names.

energy_budget

The energy budget for this process, if enabled.

energy_budget_terms

A dictionary of variable names for the energy budget terms.

init_values

A dictionary of initial values for each public variable.

inputs

A tuple of input variable names.

mass_budget

The mass budget for this process, if enabled.

mass_budget_terms

A dictionary of variable names for the mass budget terms.

parameters

A tuple of parameter names.

restart_variables

previous.

variables

A tuple of public variable names.

advance()#

Advance the Process in time.

Returns:

None

property budget#

Legacy property for backward compatibility - returns mass budget.

Deprecated since version The: ‘budget’ property is deprecated. Use ‘mass_budget’ instead.

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, mass_budget_terms, and energy_budget_terms for this Process.

property dimensions: tuple#

A tuple of parameter names.

property energy_budget#

The energy budget for this process, if enabled.

property energy_budget_terms: dict#

A dictionary of variable names for the energy budget terms.

finalize()#

Finalize the Process, output methods, and close input adapters.

Return type:

None

Returns:

None

static get_dimensions()[source]#

Get a tuple of dimension names for this Process.

Return type:

tuple

classmethod get_energy_budget_terms()#

Get a dictionary of variable names for energy budget terms.

Return type:

dict

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()#

A list of restart varible names.

Return type:

list

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, extra_coords=None, addtl_output_vars=None)#

Initialize NetCDF output.

Parameters:
  • output_dir ([<class ‘str’>, <class ‘pathlib.Path’>]) – base directory path or NetCDF file path if separate_files is True

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

  • output_vars (list) – list of variable names to output.

Return type:

None

Returns:

None

property inputs: tuple#

A tuple of input variable names.

property mass_budget#

The mass budget for this process, if enabled.

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: dict#

previous.

Type:

A dict of restart variable names mapping current

set_input_to_adapter(input_variable_name, adapter)#

Set input variables to adapter.current and manage the adapter.

TODO: make this private?

Parameters:
  • input_variable_name (str) – key of input variable

  • adapter (Adapter) – the Adapter for the input.

property variables: tuple#

A tuple of public variable names.