Source code for icclim._core.model.in_file_dictionary
"""Contains the InFileDictionary class."""
from __future__ import annotations
from typing import TYPE_CHECKING
# for Python <3.11 with (Not)Required
from typing_extensions import NotRequired, TypedDict
if TYPE_CHECKING:
from icclim._core.model.icclim_types import InFileBaseType
from icclim._core.model.threshold import Threshold
[docs]
class InFileDictionary(TypedDict):
"""
Dictionary grouping in_files and var_name functionnalities.
Attributes
----------
study : InFileBaseType
Study input file.
thresholds : NotRequired[Threshold | None]
Thresholds to apply to the study input file.
Examples
--------
.. code-block:: python
threshold = build_threshold(operator=">", value=["per-1.nc", "per-2.nc"])
in_files = {
"tasmax": {
"study": "tasmax-store.zarr",
"threshold": threshold,
},
"pr": "pr.nc",
"tasmin": {"study": "tasmin.nc"},
}
Notes
-----
It also allows to use a different input for thresholds such as percentiles.
"""
[docs]
thresholds: NotRequired[Threshold | None]