Go to notebook file


[1]:
%reload_ext eradiate.notebook.tutorials

Last updated: 2023-12-18 11:06 (eradiate v0.24.5.dev35+g131452cf.d20231215)

A better notebook experience#

Overview

This tutorial demonstrates features which make the experience of using Eradiate in a Jupyter notebook more enjoyable.

What you will learn

  • How to load the Eradiate IPython extension.

  • How it improves the notebook experience.


First, we load Eradiate and select the CKD mode.

[2]:
import eradiate
from eradiate import unit_registry as ureg
eradiate.set_mode("ckd")

Let’s define a very simulation with a single spectral bin, then visualise it:

[3]:
# Basic behaviour: looks bad
exp = eradiate.experiments.AtmosphereExperiment(
    measures={
        "type": "mdistant",
        "construct": "hplane",
        "zeniths": [-30, 0, 30],
        "azimuth": 0,
        "srf": {
            "type": "multi_delta",
            "wavelengths": 550.0 * ureg.nm,
        },
    }
)
exp
[3]:
AtmosphereExperiment(measures=[MultiDistantMeasure(id='measure', mi_results={}, srf=MultiDeltaSpectrum(id=None, quantity=DIMENSIONLESS, wavelengths=[550.0] nm), sampler='independent', rfilter='box', spp=1000, target=TargetPoint(xyz=[0.0 0.0 0.0] m), ray_offset=None, direction_layout=HemispherePlaneLayout(azimuth_convention=<AzimuthConvention.EAST_RIGHT: (0.0, 1)>, zeniths=[-30   0  30] deg, azimuth=0 deg))], default_spectral_set=BinSet(bins=[Bin(wmin=280.0 nm, wmax=290.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=290.0 nm, wmax=300.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=300.0 nm, wmax=310.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=310.0 nm, wmax=320.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=320.0 nm, wmax=330.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=330.0 nm, wmax=340.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=340.0 nm, wmax=350.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=350.0 nm, wmax=360.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=360.0 nm, wmax=370.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=370.0 nm, wmax=380.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=380.0 nm, wmax=390.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=390.0 nm, wmax=400.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=400.0 nm, wmax=410.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=410.0 nm, wmax=420.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=420.0 nm, wmax=430.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=430.0 nm, wmax=440.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=440.0 nm, wmax=450.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=450.0 nm, wmax=460.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=460.0 nm, wmax=470.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=470.0 nm, wmax=480.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=480.0 nm, wmax=490.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=490.0 nm, wmax=500.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=500.0 nm, wmax=510.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=510.0 nm, wmax=520.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=520.0 nm, wmax=530.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=530.0 nm, wmax=540.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=540.0 nm, wmax=550.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=550.0 nm, wmax=560.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=560.0 nm, wmax=570.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=570.0 nm, wmax=580.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=580.0 nm, wmax=590.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=590.0 nm, wmax=600.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=600.0 nm, wmax=610.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=610.0 nm, wmax=620.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=620.0 nm, wmax=630.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=630.0 nm, wmax=640.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=640.0 nm, wmax=650.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=650.0 nm, wmax=660.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=660.0 nm, wmax=670.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=670.0 nm, wmax=680.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=680.0 nm, wmax=690.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=690.0 nm, wmax=700.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=700.0 nm, wmax=710.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=710.0 nm, wmax=720.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=720.0 nm, wmax=730.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=730.0 nm, wmax=740.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=740.0 nm, wmax=750.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=750.0 nm, wmax=760.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=760.0 nm, wmax=770.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=770.0 nm, wmax=780.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=780.0 nm, wmax=790.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=790.0 nm, wmax=800.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=800.0 nm, wmax=810.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=810.0 nm, wmax=820.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=820.0 nm, wmax=830.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=830.0 nm, wmax=840.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=840.0 nm, wmax=850.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=850.0 nm, wmax=860.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=860.0 nm, wmax=870.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=870.0 nm, wmax=880.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=880.0 nm, wmax=890.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=890.0 nm, wmax=900.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=900.0 nm, wmax=910.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=910.0 nm, wmax=920.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=920.0 nm, wmax=930.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=930.0 nm, wmax=940.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=940.0 nm, wmax=950.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=950.0 nm, wmax=960.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=960.0 nm, wmax=970.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=970.0 nm, wmax=980.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=980.0 nm, wmax=990.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=990.0 nm, wmax=1000.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1000.0 nm, wmax=1010.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1010.0 nm, wmax=1020.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1020.0 nm, wmax=1030.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1030.0 nm, wmax=1040.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1040.0 nm, wmax=1050.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1050.0 nm, wmax=1060.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1060.0 nm, wmax=1070.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1070.0 nm, wmax=1080.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1080.0 nm, wmax=1090.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1090.0 nm, wmax=1100.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1100.0 nm, wmax=1110.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1110.0 nm, wmax=1120.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1120.0 nm, wmax=1130.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1130.0 nm, wmax=1140.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1140.0 nm, wmax=1150.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1150.0 nm, wmax=1160.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1160.0 nm, wmax=1170.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1170.0 nm, wmax=1180.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1180.0 nm, wmax=1190.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1190.0 nm, wmax=1200.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1200.0 nm, wmax=1210.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1210.0 nm, wmax=1220.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1220.0 nm, wmax=1230.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1230.0 nm, wmax=1240.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1240.0 nm, wmax=1250.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1250.0 nm, wmax=1260.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1260.0 nm, wmax=1270.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1270.0 nm, wmax=1280.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1280.0 nm, wmax=1290.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1290.0 nm, wmax=1300.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1300.0 nm, wmax=1310.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1310.0 nm, wmax=1320.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1320.0 nm, wmax=1330.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1330.0 nm, wmax=1340.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1340.0 nm, wmax=1350.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1350.0 nm, wmax=1360.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1360.0 nm, wmax=1370.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1370.0 nm, wmax=1380.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1380.0 nm, wmax=1390.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1390.0 nm, wmax=1400.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1400.0 nm, wmax=1410.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1410.0 nm, wmax=1420.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1420.0 nm, wmax=1430.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1430.0 nm, wmax=1440.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1440.0 nm, wmax=1450.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1450.0 nm, wmax=1460.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1460.0 nm, wmax=1470.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1470.0 nm, wmax=1480.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1480.0 nm, wmax=1490.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1490.0 nm, wmax=1500.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1500.0 nm, wmax=1510.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1510.0 nm, wmax=1520.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1520.0 nm, wmax=1530.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1530.0 nm, wmax=1540.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1540.0 nm, wmax=1550.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1550.0 nm, wmax=1560.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1560.0 nm, wmax=1570.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1570.0 nm, wmax=1580.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1580.0 nm, wmax=1590.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1590.0 nm, wmax=1600.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1600.0 nm, wmax=1610.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1610.0 nm, wmax=1620.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1620.0 nm, wmax=1630.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1630.0 nm, wmax=1640.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1640.0 nm, wmax=1650.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1650.0 nm, wmax=1660.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1660.0 nm, wmax=1670.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1670.0 nm, wmax=1680.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1680.0 nm, wmax=1690.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1690.0 nm, wmax=1700.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1700.0 nm, wmax=1710.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1710.0 nm, wmax=1720.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1720.0 nm, wmax=1730.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1730.0 nm, wmax=1740.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1740.0 nm, wmax=1750.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1750.0 nm, wmax=1760.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1760.0 nm, wmax=1770.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1770.0 nm, wmax=1780.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1780.0 nm, wmax=1790.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1790.0 nm, wmax=1800.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1800.0 nm, wmax=1810.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1810.0 nm, wmax=1820.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1820.0 nm, wmax=1830.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1830.0 nm, wmax=1840.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1840.0 nm, wmax=1850.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1850.0 nm, wmax=1860.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1860.0 nm, wmax=1870.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1870.0 nm, wmax=1880.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1880.0 nm, wmax=1890.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1890.0 nm, wmax=1900.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1900.0 nm, wmax=1910.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1910.0 nm, wmax=1920.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1920.0 nm, wmax=1930.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1930.0 nm, wmax=1940.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1940.0 nm, wmax=1950.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1950.0 nm, wmax=1960.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1960.0 nm, wmax=1970.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1970.0 nm, wmax=1980.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1980.0 nm, wmax=1990.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=1990.0 nm, wmax=2000.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2000.0 nm, wmax=2010.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2010.0 nm, wmax=2020.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2020.0 nm, wmax=2030.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2030.0 nm, wmax=2040.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2040.0 nm, wmax=2050.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2050.0 nm, wmax=2060.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2060.0 nm, wmax=2070.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2070.0 nm, wmax=2080.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2080.0 nm, wmax=2090.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2090.0 nm, wmax=2100.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2100.0 nm, wmax=2110.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2110.0 nm, wmax=2120.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2120.0 nm, wmax=2130.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2130.0 nm, wmax=2140.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2140.0 nm, wmax=2150.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2150.0 nm, wmax=2160.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2160.0 nm, wmax=2170.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2170.0 nm, wmax=2180.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2180.0 nm, wmax=2190.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2190.0 nm, wmax=2200.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2200.0 nm, wmax=2210.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2210.0 nm, wmax=2220.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2220.0 nm, wmax=2230.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2230.0 nm, wmax=2240.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2240.0 nm, wmax=2250.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2250.0 nm, wmax=2260.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2260.0 nm, wmax=2270.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2270.0 nm, wmax=2280.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2280.0 nm, wmax=2290.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2290.0 nm, wmax=2300.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2300.0 nm, wmax=2310.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2310.0 nm, wmax=2320.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2320.0 nm, wmax=2330.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2330.0 nm, wmax=2340.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2340.0 nm, wmax=2350.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2350.0 nm, wmax=2360.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2360.0 nm, wmax=2370.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2370.0 nm, wmax=2380.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2380.0 nm, wmax=2390.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)), Bin(wmin=2390.0 nm, wmax=2400.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1))]), _spectral_set={0: BinSet(bins=[Bin(wmin=540.0 nm, wmax=550.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1))])}, quad_spec=QuadSpecFixed(n=1, quad_type=<QuadType.GAUSS_LEGENDRE: 'gauss_legendre'>), extra_objects={}, illumination=DirectionalIllumination(id='illumination', zenith=0.0 deg, azimuth=0.0 deg, azimuth_convention=<AzimuthConvention.EAST_RIGHT: (0.0, 1)>, irradiance=SolarIrradianceSpectrum(id=None, dataset=<xarray.Dataset | source='/home/leroyv/Documents/src/rayference/rtm/eradiate/resources/data/spectra/solar_irradiance/coddington_2021-1_nm.nc'>, scale=1.0, datetime=None)), geometry=PlaneParallelGeometry(toa_altitude=120.0 km, ground_altitude=0.0 km, zgrid=ZGrid(levels=[0.0 100.0 200.0 ... 119800.0 119900.0 120000.0] m, _layers=[50.0 150.0 250.0 ... 119750.0 119850.0 119950.0] m, _layer_height=100.0 m, _total_height=120000.0 m), width=1000000.0 km), atmosphere=HomogeneousAtmosphere(id='atmosphere', geometry=PlaneParallelGeometry(toa_altitude=120.0 km, ground_altitude=0.0 km, zgrid=ZGrid(levels=[0.0 100.0 200.0 ... 119800.0 119900.0 120000.0] m, _layers=[50.0 150.0 250.0 ... 119750.0 119850.0 119950.0] m, _layer_height=100.0 m, _total_height=120000.0 m), width=1000000.0 km), sigma_s=AirScatteringCoefficientSpectrum(id=None), sigma_a=UniformSpectrum(id=None, quantity=COLLISION_COEFFICIENT, value=0.0 1/m), _phase=RayleighPhaseFunction(id='phase_atmosphere')), surface=BasicSurface(id='surface', shape=None, bsdf=LambertianBSDF(id='surface_bsdf', reflectance=UniformSpectrum(id=None, quantity=REFLECTANCE, value=0.5))), _integrator=VolPathIntegrator(id='integrator', timeout=None, max_depth=None, rr_depth=None, hide_emitters=None))

Arguably, this ouput is impractical and makes the process of inspecting the contents of the OneDimExperiment instance quite challenging. Anyway, let’s run the corresponding simulation:

[4]:
eradiate.run(exp);

The produced output is uncontrolled and mixes progress information coming from Eradiate (the “Spectral loop” progress bar), but also from the Mitsuba radiometric kernel (the “Rendering” progress bar). A notable consequence is that changing the progress level using config.progress to suppress Mitsuba’s progress will not have the expected effect.

This can be improved by loading Eradiate’s IPython extension as follows:

[5]:
%load_ext eradiate

This automatically loads Rich’s “pretty” and “traceback” extensions, and it redirects Mitsuba’s logs and progress to, respectively, the standard Python logging framework and the tqdm library.

A first noticeable effect is that all objects created using the attrs framework are pretty-printed and are consequently much more readable:

[6]:
eradiate.experiments.AtmosphereExperiment()
[6]:

AtmosphereExperiment(
    measures=[
        MultiDistantMeasure(
            id='measure',
            mi_results={},
            srf=MultiDeltaSpectrum(id=None, quantity=DIMENSIONLESS, wavelengths=[550.0] nm),
            sampler='independent',
            rfilter='box',
            spp=1000,
            target=TargetPoint(xyz=[0.0 0.0 0.0] m),
            ray_offset=None,
            direction_layout=DirectionLayout(
                azimuth_convention=<AzimuthConvention.EAST_RIGHT: (0.0, 1)>,
                _directions=array([[0, 0, 1]])
            )
        )
    ],
    default_spectral_set=BinSet(
        bins=[
            Bin(wmin=280.0 nm, wmax=290.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=290.0 nm, wmax=300.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=300.0 nm, wmax=310.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=310.0 nm, wmax=320.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=320.0 nm, wmax=330.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=330.0 nm, wmax=340.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=340.0 nm, wmax=350.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=350.0 nm, wmax=360.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=360.0 nm, wmax=370.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=370.0 nm, wmax=380.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=380.0 nm, wmax=390.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=390.0 nm, wmax=400.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=400.0 nm, wmax=410.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=410.0 nm, wmax=420.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=420.0 nm, wmax=430.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=430.0 nm, wmax=440.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=440.0 nm, wmax=450.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=450.0 nm, wmax=460.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=460.0 nm, wmax=470.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=470.0 nm, wmax=480.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=480.0 nm, wmax=490.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=490.0 nm, wmax=500.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=500.0 nm, wmax=510.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=510.0 nm, wmax=520.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=520.0 nm, wmax=530.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=530.0 nm, wmax=540.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=540.0 nm, wmax=550.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=550.0 nm, wmax=560.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=560.0 nm, wmax=570.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=570.0 nm, wmax=580.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=580.0 nm, wmax=590.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=590.0 nm, wmax=600.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=600.0 nm, wmax=610.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=610.0 nm, wmax=620.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=620.0 nm, wmax=630.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=630.0 nm, wmax=640.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=640.0 nm, wmax=650.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=650.0 nm, wmax=660.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=660.0 nm, wmax=670.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=670.0 nm, wmax=680.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=680.0 nm, wmax=690.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=690.0 nm, wmax=700.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=700.0 nm, wmax=710.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=710.0 nm, wmax=720.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=720.0 nm, wmax=730.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=730.0 nm, wmax=740.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=740.0 nm, wmax=750.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=750.0 nm, wmax=760.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=760.0 nm, wmax=770.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=770.0 nm, wmax=780.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=780.0 nm, wmax=790.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=790.0 nm, wmax=800.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=800.0 nm, wmax=810.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=810.0 nm, wmax=820.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=820.0 nm, wmax=830.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=830.0 nm, wmax=840.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=840.0 nm, wmax=850.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=850.0 nm, wmax=860.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=860.0 nm, wmax=870.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=870.0 nm, wmax=880.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=880.0 nm, wmax=890.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=890.0 nm, wmax=900.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=900.0 nm, wmax=910.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=910.0 nm, wmax=920.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=920.0 nm, wmax=930.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=930.0 nm, wmax=940.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=940.0 nm, wmax=950.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=950.0 nm, wmax=960.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=960.0 nm, wmax=970.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=970.0 nm, wmax=980.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=980.0 nm, wmax=990.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=990.0 nm, wmax=1000.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1000.0 nm, wmax=1010.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1010.0 nm, wmax=1020.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1020.0 nm, wmax=1030.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1030.0 nm, wmax=1040.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1040.0 nm, wmax=1050.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1050.0 nm, wmax=1060.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1060.0 nm, wmax=1070.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1070.0 nm, wmax=1080.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1080.0 nm, wmax=1090.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1090.0 nm, wmax=1100.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1100.0 nm, wmax=1110.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1110.0 nm, wmax=1120.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1120.0 nm, wmax=1130.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1130.0 nm, wmax=1140.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1140.0 nm, wmax=1150.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1150.0 nm, wmax=1160.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1160.0 nm, wmax=1170.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1170.0 nm, wmax=1180.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1180.0 nm, wmax=1190.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1190.0 nm, wmax=1200.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1200.0 nm, wmax=1210.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1210.0 nm, wmax=1220.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1220.0 nm, wmax=1230.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1230.0 nm, wmax=1240.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1240.0 nm, wmax=1250.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1250.0 nm, wmax=1260.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1260.0 nm, wmax=1270.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1270.0 nm, wmax=1280.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1280.0 nm, wmax=1290.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1290.0 nm, wmax=1300.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1300.0 nm, wmax=1310.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1310.0 nm, wmax=1320.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1320.0 nm, wmax=1330.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1330.0 nm, wmax=1340.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1340.0 nm, wmax=1350.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1350.0 nm, wmax=1360.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1360.0 nm, wmax=1370.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1370.0 nm, wmax=1380.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1380.0 nm, wmax=1390.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1390.0 nm, wmax=1400.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1400.0 nm, wmax=1410.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1410.0 nm, wmax=1420.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1420.0 nm, wmax=1430.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1430.0 nm, wmax=1440.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1440.0 nm, wmax=1450.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1450.0 nm, wmax=1460.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1460.0 nm, wmax=1470.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1470.0 nm, wmax=1480.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1480.0 nm, wmax=1490.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1490.0 nm, wmax=1500.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1500.0 nm, wmax=1510.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1510.0 nm, wmax=1520.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1520.0 nm, wmax=1530.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1530.0 nm, wmax=1540.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1540.0 nm, wmax=1550.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1550.0 nm, wmax=1560.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1560.0 nm, wmax=1570.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1570.0 nm, wmax=1580.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1580.0 nm, wmax=1590.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1590.0 nm, wmax=1600.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1600.0 nm, wmax=1610.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1610.0 nm, wmax=1620.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1620.0 nm, wmax=1630.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1630.0 nm, wmax=1640.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1640.0 nm, wmax=1650.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1650.0 nm, wmax=1660.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1660.0 nm, wmax=1670.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1670.0 nm, wmax=1680.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1680.0 nm, wmax=1690.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1690.0 nm, wmax=1700.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1700.0 nm, wmax=1710.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1710.0 nm, wmax=1720.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1720.0 nm, wmax=1730.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1730.0 nm, wmax=1740.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1740.0 nm, wmax=1750.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1750.0 nm, wmax=1760.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1760.0 nm, wmax=1770.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1770.0 nm, wmax=1780.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1780.0 nm, wmax=1790.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1790.0 nm, wmax=1800.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1800.0 nm, wmax=1810.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1810.0 nm, wmax=1820.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1820.0 nm, wmax=1830.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1830.0 nm, wmax=1840.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1840.0 nm, wmax=1850.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1850.0 nm, wmax=1860.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1860.0 nm, wmax=1870.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1870.0 nm, wmax=1880.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1880.0 nm, wmax=1890.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1890.0 nm, wmax=1900.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1900.0 nm, wmax=1910.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1910.0 nm, wmax=1920.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1920.0 nm, wmax=1930.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1930.0 nm, wmax=1940.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1940.0 nm, wmax=1950.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1950.0 nm, wmax=1960.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1960.0 nm, wmax=1970.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1970.0 nm, wmax=1980.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1980.0 nm, wmax=1990.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=1990.0 nm, wmax=2000.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2000.0 nm, wmax=2010.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2010.0 nm, wmax=2020.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2020.0 nm, wmax=2030.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2030.0 nm, wmax=2040.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2040.0 nm, wmax=2050.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2050.0 nm, wmax=2060.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2060.0 nm, wmax=2070.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2070.0 nm, wmax=2080.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2080.0 nm, wmax=2090.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2090.0 nm, wmax=2100.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2100.0 nm, wmax=2110.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2110.0 nm, wmax=2120.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2120.0 nm, wmax=2130.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2130.0 nm, wmax=2140.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2140.0 nm, wmax=2150.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2150.0 nm, wmax=2160.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2160.0 nm, wmax=2170.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2170.0 nm, wmax=2180.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2180.0 nm, wmax=2190.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2190.0 nm, wmax=2200.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2200.0 nm, wmax=2210.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2210.0 nm, wmax=2220.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2220.0 nm, wmax=2230.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2230.0 nm, wmax=2240.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2240.0 nm, wmax=2250.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2250.0 nm, wmax=2260.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2260.0 nm, wmax=2270.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2270.0 nm, wmax=2280.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2280.0 nm, wmax=2290.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2290.0 nm, wmax=2300.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2300.0 nm, wmax=2310.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2310.0 nm, wmax=2320.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2320.0 nm, wmax=2330.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2330.0 nm, wmax=2340.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2340.0 nm, wmax=2350.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2350.0 nm, wmax=2360.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2360.0 nm, wmax=2370.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2370.0 nm, wmax=2380.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2380.0 nm, wmax=2390.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1)),
            Bin(wmin=2390.0 nm, wmax=2400.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1))
        ]
    ),
    _spectral_set={
        0: BinSet(
            bins=[Bin(wmin=540.0 nm, wmax=550.0 nm, quad=Quad(type=QuadType.GAUSS_LEGENDRE, n=1))]
        )
    },
    quad_spec=QuadSpecFixed(n=1, quad_type=<QuadType.GAUSS_LEGENDRE: 'gauss_legendre'>),
    extra_objects={},
    illumination=DirectionalIllumination(
        id='illumination',
        zenith=0.0 deg,
        azimuth=0.0 deg,
        azimuth_convention=<AzimuthConvention.EAST_RIGHT: (0.0, 1)>,
        irradiance=SolarIrradianceSpectrum(
            id=None,
            dataset=<xarray.Dataset | source='/home/leroyv/Documents/src/rayference/rtm/eradiate/resources/data/spectra/solar_irradiance/coddington_2021-1_nm.nc'>,
            scale=1.0,
            datetime=None
        )
    ),
    geometry=PlaneParallelGeometry(
        toa_altitude=120.0 km,
        ground_altitude=0.0 km,
        zgrid=ZGrid(
            levels=[0.0 100.0 200.0 ... 119800.0 119900.0 120000.0] m,
            _layers=[50.0 150.0 250.0 ... 119750.0 119850.0 119950.0] m,
            _layer_height=100.0 m,
            _total_height=120000.0 m
        ),
        width=1000000.0 km
    ),
    atmosphere=HomogeneousAtmosphere(
        id='atmosphere',
        geometry=PlaneParallelGeometry(
            toa_altitude=120.0 km,
            ground_altitude=0.0 km,
            zgrid=ZGrid(
                levels=[0.0 100.0 200.0 ... 119800.0 119900.0 120000.0] m,
                _layers=[50.0 150.0 250.0 ... 119750.0 119850.0 119950.0] m,
                _layer_height=100.0 m,
                _total_height=120000.0 m
            ),
            width=1000000.0 km
        ),
        sigma_s=AirScatteringCoefficientSpectrum(id=None),
        sigma_a=UniformSpectrum(id=None, quantity=COLLISION_COEFFICIENT, value=0.0 1/m),
        _phase=RayleighPhaseFunction(id='phase_atmosphere')
    ),
    surface=BasicSurface(
        id='surface',
        shape=None,
        bsdf=LambertianBSDF(
            id='surface_bsdf',
            reflectance=UniformSpectrum(id=None, quantity=REFLECTANCE, value=0.5)
        )
    ),
    _integrator=VolPathIntegrator(
        id='integrator',
        timeout=None,
        max_depth=None,
        rr_depth=None,
        hide_emitters=None
    )
)

A second consequence is that progress display control now works as expected:

[7]:
eradiate.config.progress = "KERNEL"
eradiate.run(exp);
[8]:
eradiate.config.progress = "SPECTRAL_LOOP"
eradiate.run(exp);

Further reading#

The extension can also be activated by an explicit call to eradiate.notebook.install(), which allows for further customisation.