seapopym.configuration package

Subpackages

Submodules

seapopym.configuration.abstract_configuration module

Implementation of the base class for all configuration classes.

class seapopym.configuration.abstract_configuration.AbstractChunkParameter

Bases: ABC

Abstract class for the chunk. Each attribute is a dimension of the state that can be splited into chunks to speed up the computation.

Method generated by attrs for class AbstractChunkParameter.

class seapopym.configuration.abstract_configuration.AbstractClientParameter(client: Client | None)

Bases: ABC

Abstract class for a client.

Method generated by attrs for class AbstractClientParameter.

client: Client | None
class seapopym.configuration.abstract_configuration.AbstractConfiguration(forcing: AbstractForcingParameter, functional_group: AbstractFunctionalGroupParameter, environment: AbstractEnvironmentParameter, kernel: AbstractKernelParameter)

Bases: ABC

Abstract class for all configurations.

Method generated by attrs for class AbstractConfiguration.

environment: AbstractEnvironmentParameter
forcing: AbstractForcingParameter
functional_group: AbstractFunctionalGroupParameter
kernel: AbstractKernelParameter
abstractmethod classmethod parse(configuration_file: str | Path | IO) AbstractConfiguration

Parse the configuration file and create an AbstractConfiguration object.

abstract property state: SeapopymState

The xarray.Dataset that stores all the model parameters and forcing.

class seapopym.configuration.abstract_configuration.AbstractEnvironmentParameter(chunk: AbstractChunkParameter)

Bases: ABC

Abstract class for environment parameters.

Method generated by attrs for class AbstractEnvironmentParameter.

chunk: AbstractChunkParameter
class seapopym.configuration.abstract_configuration.AbstractForcingParameter

Bases: ABC

Abstract class for forcing parameters.

This class is intended to define and manage forcing parameters for a model. It can include attributes representing specific forcing units, which should be instances of AbstractForcingUnit.

Example:

A concrete implementation of this class might define attributes such as:

```python @attrs.define class MyForcingParameter(AbstractForcingParameter):

temperature: MyForcingUnit oxygen: MyForcingUnit

```

Subclasses must implement the __attrs_post_init__ method to ensure consistency of units, timestep, and resolution.

timestep: Any = _CountingAttr(counter=99, _default=NOTHING, repr=True, eq=True, order=True, hash=None, init=True, on_setattr=None, alias=None, metadata={'description': 'Simulations timestep.'})
abstractmethod to_dataset() xr.Dataset

Return all the forcing fields as a xarray.Dataset.

Can be implemented by child classes to add specific fields.

class seapopym.configuration.abstract_configuration.AbstractForcingUnit(forcing: Any)

Bases: ABC

Abstract class for a single forcing unit.

Method generated by attrs for class AbstractForcingUnit.

forcing: Any
class seapopym.configuration.abstract_configuration.AbstractFunctionalGroupParameter(functional_group: Iterable[AbstractFunctionalGroupUnit])

Bases: ABC

Abstract class for functional group parameters.

Method generated by attrs for class AbstractFunctionalGroupParameter.

functional_group: Iterable[AbstractFunctionalGroupUnit]
abstractmethod to_dataset() xr.Dataset

Return all the functional groups as a xarray.Dataset.

class seapopym.configuration.abstract_configuration.AbstractFunctionalGroupUnit(name: str, migratory_type: AbstractMigratoryTypeParameter, functional_type: AbstractFunctionalTypeParameter)

Bases: ABC

Abstract class for a single functional group unit.

Method generated by attrs for class AbstractFunctionalGroupUnit.

functional_type: AbstractFunctionalTypeParameter
migratory_type: AbstractMigratoryTypeParameter
name: str
abstractmethod to_dataset() xr.Dataset

Return the parameters of the functional group as a Dataset. This is used to create the SeapoPymState.

class seapopym.configuration.abstract_configuration.AbstractFunctionalTypeParameter

Bases: ABC

Abstract class that describes the relationship between the functional group and its environment.

Method generated by attrs for class AbstractFunctionalTypeParameter.

class seapopym.configuration.abstract_configuration.AbstractKernelParameter

Bases: ABC

Abstract class for kernel parameters which are used to modify behaviour of kernel functions. These meta-parameters are integrated in the model state and used in kernel functions.

Method generated by attrs for class AbstractKernelParameter.

class seapopym.configuration.abstract_configuration.AbstractMigratoryTypeParameter

Bases: ABC

Abstract class that describes the vertical migratory behavior of a functional group.

Method generated by attrs for class AbstractMigratoryTypeParameter.

class seapopym.configuration.abstract_configuration.ParameterUnit(value: Number, unit: str | Unit = 'dimensionless')

Bases: float

Abstract class describing a parameter. Derived from float. Defines a unit to avoid ambiguity.

Method generated by attrs for class ParameterUnit.

convert(unit: str | Unit) ParameterUnit

Convert the value of the functional type unit to a different unit.

property quantity: Quantity

Return the value of the functional type unit as a pint.Quantity.

unit: str | Unit
value: float

Module contents