Skip to content

SimulationConfig

The top-level configuration objects that describe a complete simulation run,

s2gos_simulator.config.simulation.SimulationConfig pydantic-model

Bases: BaseModel

Comprehensive simulation configuration containing everything needed to set up a simulation.

This single configuration class includes:

  • Sensor definitions for all platforms
  • Illumination settings
  • Measurement types

Config:

  • default: {'validate_assignment': True, 'extra': 'forbid'}

Fields:

Validators:

Attributes

backend_hints pydantic-field

backend_hints: Dict[str, Any]

Backend-specific configuration hints (e.g., {'eradiate': {'mode': 'ckd_double'}}).

For Eradiate backend: - 'mode': Spectral mode ('mono', 'ckd', 'mono_polarized', 'ckd_polarized', etc.)

config_version pydantic-field

config_version: str

Configuration schema version

created_at pydantic-field

created_at: datetime

Creation timestamp (auto-populated)

description pydantic-field

description: Optional[str] = None

Simulation description

enable_noise pydantic-field

enable_noise: bool = False

Enable noise modeling

illumination pydantic-field

illumination: Union[
    DirectionalIllumination, ConstantIllumination
]

Illumination configuration

measurements pydantic-field

measurements: List[MeasurementConfig]

Unified list of radiative quantity measurements (HDRF, BRF, irradiance, etc.)

name pydantic-field

name: str

Simulation name

output_quantities property

output_quantities: List[str]

Get output quantities based on sensors.

processing pydantic-field

processing: ProcessingConfig

Processing configuration

sensors pydantic-field

sensors: List[
    Union[SatelliteSensor, UAVSensor, GroundSensor]
]

List of sensors to simulate

wavelength_range property

wavelength_range: tuple

Get wavelength range based on sensors.

Functions

add_sensor

add_sensor(
    sensor: Union[SatelliteSensor, UAVSensor, GroundSensor],
) -> None

Add a sensor to the configuration.

from_json classmethod

from_json(path: PathLike) -> 'SimulationConfig'

Load from JSON file with version compatibility checking.

get_sensor

get_sensor(
    sensor_id: str,
) -> Optional[
    Union[SatelliteSensor, UAVSensor, GroundSensor]
]

Get a sensor by ID.

remove_sensor

remove_sensor(sensor_id: str) -> None

Remove a sensor by ID.

to_dict

to_dict() -> Dict[str, Any]

Convert to dictionary for serialization.

to_json

to_json(
    path: Optional[PathLike] = None, indent: int = 2
) -> str

Export to JSON format.

validate_configuration

validate_configuration() -> List[str]

Validate the complete configuration and return any errors.

validate_hdrf_hcrf_requires_irradiance pydantic-validator

validate_hdrf_hcrf_requires_irradiance()

Validate that HDRF/HCRF measurements have corresponding irradiance measurements.

In reference mode, HDRF/HCRF must reference an existing IrradianceConfig. In auto-generation mode, the backend will create the irradiance measurement automatically.

validate_sensors pydantic-validator

validate_sensors(v)

Validate sensor list.

validate_simulation_config pydantic-validator

validate_simulation_config()

Validate simulation configuration.