eradiate.experiments.AtmosphereExperiment#
- class eradiate.experiments.AtmosphereExperiment(measures=NOTHING, integrator=AUTO, results=NOTHING, default_spectral_set=AUTO, quad_spec=NOTHING, extra_objects=None, illumination=NOTHING, geometry='plane_parallel', atmosphere=NOTHING, surface=NOTHING)[source]#
Bases:
EarthObservationExperimentSimulate radiation in a one-dimensional scene. This experiment approximates a one-dimensional setup using a 3D geometry set up to reproduce the effect of invariances typical of 1D geometries. It supports the so-called plane parallel and spherical shell geometries.
- Parameters:
measures (
listofMeasureorlistofdictorMeasureordict, default:MultiDistantMeasure()) – List of measure specifications. The passed list may contain dictionaries, which will be interpreted bymeasure_factory. Optionally, a singleMeasureor dictionary specification may be passed and will automatically be wrapped into a list.integrator (
IntegratorordictorAUTO, default:AUTO) – Monte Carlo integration algorithm specification. This parameter can be specified as a dictionary which will be interpreted byintegrator_factory.The integrator defaults toAUTO, which will choose the appropriate integrator depending on the experiment’s configuration.default_spectral_set (
BinSetorWavelengthSetorAUTO, default:AUTO) – Default spectral set. This attribute is used to set the default value forspectral_set.If the value isAUTO, the default spectral set is selected based on the active mode. Otherwise, the value must be aBinSetorWavelengthSetinstance.extra_objects (
dictorNone, default:None) – Dictionary of extra objects to be added to the scene. The keys of this dictionary are used to identify the objects in the kernel dictionary.illumination (
DirectionalIlluminationorConstantIlluminationordict, default:DirectionalIllumination()) – Illumination specification. This parameter can be specified as a dictionary which will be interpreted byillumination_factory.geometry (
strordictorSceneGeometry, default:"plane_parallel") – Problem geometry. Can be specified as a simple string ("plane_parallel" or "spherical_shell"), a dictionary interpreted bySceneGeometry.convert(), or aSceneGeometryinstance.atmosphere (
AtmosphereordictorNone, default:HomogeneousAtmosphere()) – Atmosphere specification. If set toNone, no atmosphere will be added. This parameter can be specified as a dictionary which will be interpreted byatmosphere_factory.surface (
BasicSurfaceorBSDFordict, optional, default:BasicSurface(bsdf=LambertianBSDF())) – Surface specification. If set toNone, no surface will be added. This parameter can be specified as a dictionary which will be interpreted bysurface_factoryandbsdf_factory.
- Fields:
measures (
listofMeasure) – List of measure specifications.integrator (
IntegratororAUTO) – Monte Carlo integration algorithm specification.default_spectral_set (
BinSetorWavelengthSet) – Default spectral set.extra_objects (
dict) – Dictionary of extra objects to be added to the scene.illumination (
AbstractDirectionalIlluminationorConstantIllumination) – Illumination specification.geometry (
PlaneParallelGeometryorSphericalShellGeometry) – Problem geometry.atmosphere (
AtmosphereorNone) – Atmosphere specification.surface (
BasicSurfaceorNone) – Surface specification.
Notes
A post-initialisation step will constrain the measure setup if a distant measure is used and set the target to [0, 0, 0].
This experiment supports arbitrary measure positioning, except for
MultiRadiancemeterMeasure, for which subsensor origins are required to be either all inside or all outside of the atmosphere. If an unsuitable configuration is detected, aValueErrorwill be raised during initialization.
- clear()#
Clear previous experiment results and reset internal state.
- init()#
Generate kernel dictionary and initialise Mitsuba scene.
- pipeline(measure)#
Return the post-processing pipeline for a given measure.
- process(spp=0, seed_state=None)#
Run simulation and collect raw results.
- Parameters:
- spectral_indices(measure_index)#
Generate spectral indices for a given measure.
- Parameters:
measure_index (
int) – Measure index for which spectral indices are generated.- Yields:
SpectralIndex– Spectral index.
- property context_init#
Return a single context used for scene initialization.
- property contexts#
Return a list of contexts used for processing.
- property results#
Post-processed simulation results.
- Returns:
dict[str,Dataset]– Dictionary mapping measure IDs to xarray datasets.
- property scene#
Return a scene object used for kernel dictionary template and parameter table generation.
- property spectral_set#
A dictionary mapping measure index to the associated spectral set.