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)
Accumulate for the timestep.
from_storage_unit
(storage_unit, **kwargs)Return a tuple of the metadata keys used by Budget.
init_component
(data)- rtype:
initialize_netcdf
(params, output_dir[, ...])Initialize NetCDF output
output
()Output to previously initialized output types.
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.Attributes
- property accumulations#
- property balance#
- property components#
- initialize_netcdf(params, output_dir, write_sum_vars=True, write_individual_vars=False)[source]#
Initialize NetCDF output
- property inputs_sum#
- property outputs_sum#
- 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}}
- property storage_changes_sum#
- property terms#