pyradtran.core.Simulation#

class pyradtran.core.Simulation(config: SimulationConfig)[source]#

Bases: object

Low-level wrapper around a single uvspec execution.

Parameters:

config (SimulationConfig) – Fully merged configuration object.

__init__(config: SimulationConfig)[source]#

Initialise with a merged SimulationConfig.

build_input_lines(dt: datetime, latitude: float, longitude: float, resolved_params=None, era5_atmosphere_file: Path | None = None, override_albedo: float | None = None, override_surface_temperature: float | None = None, override_altitude_km: float | None = None, override_surface_type: int | None = None, parameter_overrides: Dict[str, Any] | None = None)[source]#

Build the provenance-tagged input lines for one point.

dry_run(dt: datetime, latitude: float, longitude: float, resolved_params=None, era5_atmosphere_file: Path | None = None) str[source]#

Render the annotated input file for one point without running uvspec.

Returns:

Input-file content, one # <provenance> comment per line.

Return type:

str

static format_cloud_profile(data: Dict[str, Any]) str[source]#

Format a cloud-profile dict as a libRadtran column file.

Parameters:

data (dict) – Must contain 'z' (altitude in km) and either 'lwc' or 'iwc' (water content in g m⁻³), plus 'reff' (effective radius in µm).

Returns:

Multi-line string ready to write to a .dat file.

Return type:

str

Raises:

ValueError – If required keys are missing.

run_simulation(dt: datetime, latitude: float, longitude: float, resolved_params=None, era5_atmosphere_file: Path | None = None, override_albedo: float | None = None, override_surface_temperature: float | None = None, override_altitude_km: float | None = None, override_surface_type: int | None = None, parameter_overrides: Dict[str, Any] | None = None) Path | None[source]#

Run a single uvspec simulation.

Parameters:
  • dt (datetime) – Simulation date/time (UTC).

  • latitude (float) – Location in degrees.

  • longitude (float) – Location in degrees.

  • resolved_params (dict, optional) – key -> (value, provenance) mapping from pyradtran.params.ParamResolver.resolve_point().

  • era5_atmosphere_file (pathlib.Path, optional) – Custom ERA5 atmosphere file (radiosonde format).

  • override_albedo (float, optional) – Deprecated — use resolved_params.

  • override_surface_temperature (float, optional) – Deprecated — use resolved_params.

  • override_altitude_km (float, optional) – Deprecated — use resolved_params.

  • override_surface_type (int, optional) – Deprecated — use resolved_params.

  • parameter_overrides (dict, optional) – Deprecated — use resolved_params.

Returns:

Path to the uvspec output file, or None on failure (last_stderr then holds the captured stderr).

Return type:

pathlib.Path or None