pywatershed.parameters.StarfitParameters#
- class pywatershed.parameters.StarfitParameters(dims, coords, data_vars, metadata, encoding={})[source]#
Starfit parameter class
The GRanD data https://sedac.ciesin.columbia.edu/data/set/grand-v1-dams-rev01
The istarf data https://zenodo.org/record/4602277#.ZCtYj-zMJqs
The resops data https://zenodo.org/record/5893641#.ZCtakuzMJqs
# add citiatons. add this information to the starfit model too # add a working example
- Parameters:
parameter_dict (
dict
) –- parameters dictionary: either structure
param: value
process: {param: value … }
where the later is a parameter dictionary grouped by process. The keys for process should be either the class itself, class.name, or type(class.__name__).
parameter_dimensions_dict (
dict
) – parameters dimensions dictionary with a structure mirring the parameter dict as described above but with shape tuples in place of parameter value data.Returns – StarfitParameters object
Methods
__init__
(dims, coords, data_vars, metadata)drop_var
(var_names)Drop variables
from_dict
(dict_in[, copy])Return this class from a passed dictionary. :type dict_in: :param dict_in: a dictionary from which to create an instance of this class :type copy: :param copy: boolean if the passed dictionary should be deep copied.
from_ds
(ds)Get this class from a dataset (nc4 or xarray).
from_netcdf
(resops_domain, istarf_conus, ...)Load this class from a netcdf file.
get_dim_values
([keys])Get the values of the dimensions by keys.
get_param_values
([keys])Get the values of the parameters (coords or data_vars) by keys
merge
(*args[, copy, del_global_src])Merge Parameter classes
rename_dim
(name_maps[, in_place])Rename dimensions.
rename_var
(name_maps[, in_place])Rename variables.
subset
(keys[, copy, keep_global, ...])Subset a DatasetDict to keys in data_vars or coordinates
subset_on_coord
(coord_name, where)Subset DatasetDict to a np.where along a named coordinate in-place
to_dd
([copy])Export Parameters to a DatasetDict (for editing).
to_nc4_ds
(filename)Export Parameters to a netcdf4 dataset
to_netcdf
(filename[, use_xr])Write parameters to a netcdf file
to_xr_dd
()Export to an xarray DatasetDict (xr.Dataset.to_dict()).
to_xr_ds
()Export Parameters to an xarray dataset
validate
()Check that a DatasetDict is internally consistent.
Attributes
Return the coordinates
dims, coords, data_vars, metadata, encoding
Return the data_vars.
Return the dimensions
Return the encoding
Return the metadata
Return the spatial coordinate names.
Return coords and data_vars together
- property data: dict#
dims, coords, data_vars, metadata, encoding
- Parameters:
copy – boolean if a deepcopy is desired
- Returns:
A dict of dicts containing all the data
- Type:
Return a dict of dicts
- drop_var(var_names)#
Drop variables
- classmethod from_dict(dict_in, copy=False)#
Return this class from a passed dictionary. :type dict_in: :param dict_in: a dictionary from which to create an instance of this
class
- Parameters:
copy – boolean if the passed dictionary should be deep copied
- Returns:
A object of this class.
- classmethod from_ds(ds)#
Get this class from a dataset (nc4 or xarray).
- static from_netcdf(resops_domain, istarf_conus, grand_dams, grand_ids=None, param_names=None)[source]#
Load this class from a netcdf file.
- Return type:
- get_dim_values(keys=None)#
Get the values of the dimensions by keys.
- get_param_values(keys=None)#
Get the values of the parameters (coords or data_vars) by keys
- Also see:
subset() method is a Parameter object is desired.
- classmethod merge(*args, copy=True, del_global_src=True)#
Merge Parameter classes
- Parameters:
*args – several Parameters objects as individual objects.
copy – bool if the args should be copied?
del_golbal_src – bool delete the file source attribute to avoid meaningless merge conflicts?
- rename_dim(name_maps, in_place=True)#
Rename dimensions.
- rename_var(name_maps, in_place=True)#
Rename variables.
- property spatial_coord_names: dict#
Return the spatial coordinate names. :param None:
- Returns:
Dictionary of spatial coordinates with names.
- subset(keys, copy=False, keep_global=False, keep_global_metadata=None, keep_global_encoding=None, strict=False)#
Subset a DatasetDict to keys in data_vars or coordinates
- Parameters:
keys (
Iterable
) – Iterable to subset oncopy (
bool
) – bool to copy the input or edit itkeep_global (
bool
) – bool that sets both keep_global_metadata and keep_global_encodingkeep_global_metadata (
Optional
[bool
]) – bool retain the global metadata in the subsetkeep_global_encoding (
Optional
[bool
]) – bool retain the global encoding in the subset
- Return type:
- Returns:
A subset Parameter object on the passed keys.
- subset_on_coord(coord_name, where)#
Subset DatasetDict to a np.where along a named coordinate in-place
- to_dd(copy=True)#
Export Parameters to a DatasetDict (for editing).
Parameters can NOT be edited, but DatasetDicts can. To convert back
pws.Parameters(**dataset_dict.data)
.- Parameters:
copy – return a copy or a reference?
- Return type:
- to_nc4_ds(filename)#
Export Parameters to a netcdf4 dataset