Atmosphere
Configuration classes for atmosphere.
s2gos_generator.core.config.atmosphere.AtmosphereConfig
pydantic-model
Bases: BaseModel
Comprehensive atmosphere configuration supporting multiple types.
Fields:
Validators:
s2gos_generator.core.config.atmosphere.MolecularAtmosphereConfig
pydantic-model
Bases: BaseModel
Configuration for a purely molecular (Rayleigh-scattering) atmosphere.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['molecular']
|
Discriminator literal fixed to |
thermoprops |
ThermophysicalConfig
|
Thermophysical profile (identifier or CAMS NetCDF file). |
absorption_database |
Optional[AbsorptionDatabase]
|
Database for gas absorption. |
has_absorption |
bool
|
Enable gas absorption calculations. |
has_scattering |
bool
|
Enable Rayleigh scattering calculations. |
Fields:
-
type(Literal['molecular']) -
thermoprops(ThermophysicalConfig) -
absorption_database(Optional[AbsorptionDatabase]) -
has_absorption(bool) -
has_scattering(bool)
Attributes
absorption_database
pydantic-field
Absorption database to use
s2gos_generator.core.config.atmosphere.HomogeneousAtmosphereConfig
pydantic-model
Bases: BaseModel
Configuration for a spatially uniform (homogeneous) aerosol atmosphere.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['homogeneous']
|
Discriminator literal fixed to |
aerosol_dataset |
AerosolDataset
|
Aerosol dataset defining scattering ( |
optical_thickness |
float
|
Aerosol optical depth at the reference wavelength. |
scale_height |
float
|
Exponential decay scale height (metres) for the vertical aerosol profile. |
reference_wavelength |
float
|
Wavelength (nm) at which |
has_absorption |
bool
|
Enable aerosol absorption. |
Fields:
-
type(Literal['homogeneous']) -
aerosol_dataset(AerosolDataset) -
optical_thickness(float) -
scale_height(float) -
reference_wavelength(float) -
has_absorption(bool)
Attributes
aerosol_dataset
pydantic-field
Aerosol dataset to use
s2gos_generator.core.config.atmosphere.HeterogeneousAtmosphereConfig
pydantic-model
Bases: BaseModel
Configuration for a vertically-resolved heterogeneous atmosphere.
Combines an optional molecular background (Rayleigh scattering and gas
absorption) with one or more discrete particle layers.
At least one of molecular or particle_layers must be specified.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['heterogeneous']
|
Discriminator literal fixed to |
molecular |
MolecularAtmosphereConfig
|
Molecular atmosphere providing the Rayleigh-scattering
background. |
particle_layers |
list[ParticleLayerConfig]
|
Ordered list of aerosol or particle layers stacked within the atmosphere column. |
Fields:
-
type(Literal['heterogeneous']) -
molecular(MolecularAtmosphereConfig) -
particle_layers(list[ParticleLayerConfig])
Validators:
Attributes
molecular
pydantic-field
Molecular atmosphere configuration
particle_layers
pydantic-field
Particle layer configurations
Functions
s2gos_generator.core.config.atmosphere.ThermophysicalConfig
pydantic-model
Bases: BaseModel
Configuration for atmospheric thermophysical properties.
Supports either joseki identifiers (e.g., 'afgl_1986-us_standard') or CAMS NetCDF files. Specify one but not both.
Config:
default:{'arbitrary_types_allowed': True}
Fields:
-
identifier(Optional[str]) -
thermoprops_file(Optional[PathRef]) -
altitude_min(float) -
altitude_max(float) -
altitude_step(float) -
constituent_scaling(Optional[dict[str, float]])
Validators:
Attributes
constituent_scaling
pydantic-field
Constituent concentration scaling (e.g., {'CO2': 400.0})
thermoprops_file
pydantic-field
Path to CAMS thermoprops NetCDF file (alternative to identifier)
Functions
validate_altitude_range
pydantic-validator
Validate altitude configuration.
validate_thermaproprs_path
pydantic-validator
Validate and resolve thermaproprs file path using configured search paths.
s2gos_generator.core.config.atmosphere.ParticleLayerConfig
pydantic-model
Bases: BaseModel
Configuration for a particle layer.
Attributes:
| Name | Type | Description |
|---|---|---|
aerosol_dataset |
Union[AerosolDataset, str]
|
Aerosol dataset. Either an |
optical_thickness |
float
|
Column aerosol optical depth within this layer. |
altitude_bottom |
float
|
Lower bound of the layer (m above sea level). |
altitude_top |
float
|
Upper bound of the layer (m above sea level). |
distribution |
DistributionType
|
Vertical distribution of particle concentration within the layer bounds. |
reference_wavelength |
float
|
Wavelength (nm) at which |
has_absorption |
bool
|
Enable particle absorption. |
Fields:
-
aerosol_dataset(Union[AerosolDataset, str]) -
optical_thickness(float) -
altitude_bottom(float) -
altitude_top(float) -
distribution(DistributionType) -
reference_wavelength(float) -
has_absorption(bool)
Validators:
Attributes
aerosol_dataset
pydantic-field
Aerosol dataset: enum value (e.g. 'sixsv-continental') or custom NetCDF path
Functions
validate_aerosol_dataset
pydantic-validator
Allow enum or custom file path string.
s2gos_generator.core.config.atmosphere.ExponentialDistribution
pydantic-model
Bases: ParticleDistribution
Exponential vertical decay profile for particle concentration, see Eradiate documentation for more details.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['exponential']
|
Discriminator literal fixed to |
rate |
Optional[float]
|
Decay rate |
scale |
Optional[float]
|
Scale parameter |
Fields:
Validators:
Attributes
Functions
s2gos_generator.core.config.atmosphere.GaussianDistribution
pydantic-model
Bases: ParticleDistribution
Gaussian vertical profile for particle concentration, see Eradiate documentation for more details.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['gaussian']
|
Discriminator literal fixed to |
center_altitude |
float
|
Altitude of peak concentration (m). |
width |
float
|
Standard deviation of the distribution (m). |
Fields:
-
type(Literal['gaussian']) -
center_altitude(float) -
width(float)
s2gos_generator.core.config.atmosphere.UniformDistribution
pydantic-model
Bases: ParticleDistribution
Constant (uniform) vertical distribution of particle concentration.
Attributes:
| Name | Type | Description |
|---|---|---|
type |
Literal['uniform']
|
Discriminator literal fixed to |
Fields:
-
type(Literal['uniform'])
s2gos_generator.core.config.atmosphere.AerosolDataset
Bases: str, Enum
Comprehensive aerosol datasets from Eradiate.
s2gos_generator.core.config.atmosphere.AbsorptionDatabase
Bases: str, Enum
Absorption databases from Eradiate.
s2gos_generator.core.config.atmosphere.AtmosphereType
Bases: str, Enum
Atmosphere types aligned with Eradiate's atmosphere classes.