- class eradiate.experiments.CanopyAtmosphereExperiment(measures=NOTHING, illumination=NOTHING, geometry='plane_parallel', atmosphere=NOTHING, canopy=None, padding=0, surface=NOTHING, integrator=AUTO)#
Simulate radiation in a scene with an explicit canopy and atmosphere. This experiment assumes that the surface is plane and accounts for ground unit cell padding.
MultiDistantMeasure()) – List of measure specifications. The passed list may contain dictionaries, which will be interpreted by
measure_factory. Optionally, a single
Measureor dictionary specification may be passed and will automatically be wrapped into a list.
DirectionalIllumination()) – Illumination specification. This parameter can be specified as a dictionary which will be interpreted by
None, optional, default:
HomogeneousAtmosphere()) – Atmosphere specification. If set to
None, no atmosphere will be added. This parameter can be specified as a dictionary which will be interpreted by
int, optional, default:
0) – Padding level. The canopy will be padded with copies to account for adjacency effects. This, in practice, has effects similar to making the scene periodic.A value of 0 will yield only the defined scene. A value of 1 will add one copy in every direction, yielding a 3×3 patch. A value of 2 will yield a 5×5 patch, etc. The optimal padding level depends on the scene.
None, optional, default:
BasicSurface(bsdf=LambertianBSDF())) – Surface specification. A
Surfaceobject may be passed: its shape specifications will be bypassed and the surface size will be computed automatically upon kernel dictionary generation. A
BSDFmay also be passed: it will be wrapped automatically in a
BasicSurfaceinstance. If a dictionary is passed, it will be first interpreted as a
BSDF; if this fails, it will then be interpreted as a
Surface. Finally, this field can be set to
None: in that case, no surface will be added.
AUTO) – Monte Carlo integration algorithm specification. This parameter can be specified as a dictionary which will be interpreted by
IntegratorFactory.convert().If set to AUTO, the integrator will be set depending on the presence of an atmosphere.If an atmosphere is defined the integrator defaults to
VolPathIntegrator`otherwise a :class:.PathIntegrator` will be used.
int) – Padding level.
Canopy padding is controlled using the padding parameter: do not pad the canopy itself manually.
A post-initialisation step will constrain the measure setup if a distant measure is used and no target is defined:
if a canopy is defined, the target will be set to the top of the canopy unit cell (i.e. without its padding);
if no canopy is defined, the target will be set according to the atmosphere (i.e. to [0, 0, toa] where toa is the top-of-atmosphere altitude);
if neither atmosphere nor canopy are defined, the target is set 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, a
ValueErrorwill be raised during initialisation.
- classmethod from_dict(d)#
Instantiate from a dictionary. The default implementation raises an exception.
Return a dictionary suitable for kernel scene configuration.
A generator which returns kernel dictionaries (and the associated context) relevant to a given measure.
Request post-processing pipeline for a given measure.
- postprocess(*measures, pipeline_kwargs=None)#
Post-process raw results stored in a measure’s
resultsfield. This requires a successful execution of
process(). Post-processed results are stored in
int) – One or several measures for which to perform post-processing. Alternatively, indexes in the measure array can be passed. If no value is passed, all measures are processed.
- process(*measures, seed_state=None)#
Run simulation on the configured scene. Raw results yielded by the runner function are stored in
int) – One or several measures for which to compute radiative transfer. Alternatively, indexes in the measure array can be passed. If no value is passed, all measures are processed.
- property results#
Post-processed simulation results.
Dataset]– Dictionary mapping measure IDs to xarray datasets.