NEDAS.core.types module
- class NEDAS.core.types.VarDesc(name: str | tuple[str, str], is_vector: bool, dtype: str = 'float', dt: float = 1, levels: Annotated[Union[numpy.ndarray, Sequence], 'z levels'] = <factory>, units: Annotated[str | float, 'physical unit'] = 1, z_units: Annotated[str | float, 'physical unit'] = 1)[source]
Bases:
object- name: str | tuple[str, str]
- is_vector: bool
- dtype: str = 'float'
- dt: float = 1
- levels: Annotated[ndarray | Sequence, 'z levels']
- units: Annotated[str | float, 'physical unit'] = 1
- z_units: Annotated[str | float, 'physical unit'] = 1
- class NEDAS.core.types.FieldRecord(name: str, model_src: str, dtype: str, is_vector: bool, units: Annotated[str | float, 'physical unit'], err_type: str, time: datetime, dt: float, k: Annotated[int, 'z level index'], pos: int)[source]
Bases:
objectRepresents a single 2D slice in the state vector.
- Variables:
name (str) – name of the state variable
model_src (str) – name of the model source module for this variable
dtype (str) – data type
is_vector (bool) – if this variable is a vector
units (str|float) – physical units of this variable
err_type (str) – type of error model to use for this variable
time (datetime) – time coordinate for this field
dt (float) – representative time interval (hours) for this field
k (int) – vertical z coordinate index for this field
pos (int) – seek position (number of bytes) for the start of this field in the binary file
- name: str
- model_src: str
- dtype: str
- is_vector: bool
- units: Annotated[str | float, 'physical unit']
- err_type: str
- time: datetime
- dt: float
- k: Annotated[int, 'z level index']
- pos: int
- class NEDAS.core.types.ErrorModel(type: str, std: float, hcorr: float, vcorr: float, tcorr: float, cross_corr: dict[str, float])[source]
Bases:
objectParameters defining an error model
- Variables:
type (str) – type of error distribution
std (float) – error standard deviation, in variable units
hcorr (float) – horizontal correlation scale, in grid.x units
vcorr (float) – vertical correlation scale, in z units
tcorr (float) – temporal correlation scale, in hours
cross_corr (dict[str, float]) – cross-variable correlation dictionary
- type: str
- std: float
- hcorr: float
- vcorr: float
- tcorr: float
- cross_corr: dict[str, float]
- class NEDAS.core.types.ObsRecord(name: str, dataset_src: str, model_src: str, nobs: int, obs_window_min: int, obs_window_max: int, dtype: str, is_vector: bool, units: Annotated[str | float, 'physical unit'], z_units: Annotated[str | float, 'physical unit'], time: datetime, dt: float, err: ErrorModel, hroi: float, vroi: float, troi: float, impact_on_state: dict)[source]
Bases:
objectRepresents a single observation record in the full list of observations
- Variables:
name (str) – name of the observation record
dataset_src (str) – name of dataset source module for this observation
model_src (str) – name of the model source module for this observation
nobs (int) – number of individual observations in this record
obs_window_min (int) – offset from analysis time for the start of the observation window (hours)
obs_window_max (int) – offset from analysis time for the end of the observation window (hours)
err (ErrorModel) – error model used for this observation
dtype (str) – data type
is_vector (bool) – if this variable is a vector
units (str) – physical units of this observation
z_units (str) – vertical coordinate units
time (datetime) – time coordinate for this observation
dt (float) – representative time interval (hours) for this observation
- name: str
- dataset_src: str
- model_src: str
- nobs: int
- obs_window_min: int
- obs_window_max: int
- dtype: str
- is_vector: bool
- units: Annotated[str | float, 'physical unit']
- z_units: Annotated[str | float, 'physical unit']
- time: datetime
- dt: float
- err: ErrorModel
- hroi: float
- vroi: float
- troi: float
- impact_on_state: dict