pywatershed.base.Budget#

class pywatershed.base.Budget(control, inputs, outputs, storage_changes, init_accumulations=None, accum_start_time=None, units=None, time_unit='D', description=None, rtol=1e-05, atol=1e-05, basis='unit', imbalance_fatal=False, verbose=True)[source]#

Budget class for mass and energy conservation.

Currently no energy budget has been implmenented, todo.

__init__(control, inputs, outputs, storage_changes, init_accumulations=None, accum_start_time=None, units=None, time_unit='D', description=None, rtol=1e-05, atol=1e-05, basis='unit', imbalance_fatal=False, verbose=True)[source]#

Methods

__init__(control, inputs, outputs, ...[, ...])

advance()

Advance time (taken from storageUnit)

calculate()

Accumulate for the timestep.

from_storage_unit(storage_unit, **kwargs)

get_components()

get_meta_keys()

Return a tuple of the metadata keys used by Budget.

init_component(data)

rtype:

dict

initialize_netcdf(params, output_dir[, ...])

Initialize NetCDF output

output()

Output to previously initialized output types.

reset_accumulations()

set(data)

Set the data on the components after initialization :type data: dict :param data: a dict of dicts with top level optional keys: :param [inputs: :param outputs: :param storage_changes].: :param Each of those is a dict with var: np.ndarray, eg.

set_initial_accumulations(...)

Attributes

accumulations

balance

components

inputs_sum

outputs_sum

storage_changes_sum

terms

property accumulations#
advance()[source]#

Advance time (taken from storageUnit)

property balance#
calculate()[source]#

Accumulate for the timestep.

property components#
classmethod from_storage_unit(storage_unit, **kwargs)[source]#
static get_components()[source]#
static get_meta_keys()[source]#

Return a tuple of the metadata keys used by Budget.

static init_component(data)[source]#
Return type:

dict

initialize_netcdf(params, output_dir, write_sum_vars=True, write_individual_vars=False)[source]#

Initialize NetCDF output

Parameters:

output_dir (str) – directory for NetCDF file

Return type:

None

Returns:

None

property inputs_sum#
output()[source]#

Output to previously initialized output types.

Return type:

None

Returns:

None

property outputs_sum#
reset_accumulations()[source]#
set(data)[source]#

Set the data on the components after initialization :type data: dict :param data: a dict of dicts with top level optional keys: :param [inputs: :param outputs: :param storage_changes].: :param Each of those is a dict with var: np.ndarray, eg. :param data = {‘inputs’: {‘var’: np.ndarray}}

set_initial_accumulations(init_accumulations, accum_start_time)[source]#
property storage_changes_sum#
property terms#