dubfi.dataprovider.generic ========================== .. py:module:: dubfi.dataprovider.generic .. autoapi-nested-parse:: Abstract data provider interface. .. codeauthor:: Valentin Bruch, DWD .. versionadded:: 0.1.1 Classes ------- .. autoapisummary:: dubfi.dataprovider.generic.AbstractDataProvider dubfi.dataprovider.generic.InsituDataProvider Functions --------- .. autoapisummary:: dubfi.dataprovider.generic.reduce_ds_read_aux dubfi.dataprovider.generic.read_aux Module Contents --------------- .. py:class:: AbstractDataProvider Bases: :py:obj:`abc.ABC` Abstract base class for data providers for inversion. .. py:property:: config :type: dict[str, Any] :abstractmethod: Inversion configuration. .. py:property:: debug :type: bool Debugging and extra checks. .. py:property:: coords :type: dict[str, Any] :abstractmethod: Data coordinates, see :func:`dubfi.dataprovider.readobs.coordinates_from_config`. .. py:method:: get_R() -> dubfi.linalg.generic.ParametrizedOperator :abstractmethod: Get R parametrized operator (error covariance matrix). For the ensemble flux inversion, this operator is constructed as described in :doc:`/scidoc/rmatrix`. .. py:method:: get_H() -> dubfi.linalg.generic.ParametrizedVector :abstractmethod: Get H parametrized vector (observation operator). For the flux inversion, this is just a linear operator (i.e., a matrix). A possible offset or background concentration in the model prediction should be directly subtracted from the vector returned by :meth:`get_Y`. .. py:method:: get_Y() -> dubfi.linalg.types.AbstractVector :abstractmethod: Get Y vector (observation minus model prior). This is usually the vector of observations minus the model prior, or the observations minus the model background. .. py:method:: get_mdm_eigenbasis_size() -> int Get size of self.get_R().validate_uncertainty_statistics(mdm) output. .. py:class:: InsituDataProvider Bases: :py:obj:`AbstractDataProvider` Abstract base class for data providers for inversion. .. py:method:: get_mdm_eigenbasis_size() -> int Get size of self.get_R().validate_uncertainty_statistics(mdm) output. .. py:method:: weight_outliers() -> None Inflate uncertainty for outliers. :raises RuntimeError: if called a second time .. py:method:: apply_global_inflation() -> None Apply global uncertainty inflation in-place. :raises RuntimeError: if called a second time .. py:method:: read_data() :abstractmethod: Read data from files. .. py:method:: _read_ens(fname: str, times: numpy.ndarray, obsidcs: numpy.ndarray | slice, **netcdf_kw) -> None Read ensemble data, helper for :meth:`~read_data`. .. py:property:: h_ens_offset Return the offset x such that x + s @ h_ens is the full ensemble at scaling factor s. Returns tot_ens - prior @ h_ens. .. py:method:: _read_det(fname: str, times: numpy.ndarray, obsidcs: numpy.ndarray | slice, ssh: str, same_site_count: numpy.ndarray, **netcdf_kw) -> None Read deterministic data, helper for :meth:`~read_data`. .. py:function:: reduce_ds_read_aux(ds: xarray.Dataset, keys: list[str]) -> xarray.Dataset Reduce dataset to given keys, read additional data if necessary. .. py:function:: read_aux(ds: xarray.Dataset, keys: list[str] | None = None) -> xarray.Dataset Read additional data for given dataset. If dataset has attribute "is_auxiliary_to_data_in", read additional data from that location. If keys are given, read only the given keys from additional data. Otherwise, read all additional data.