Simple example

In [2]:
# run SMART-G
# this simulation uses an AFGL tropical atmosphere without aerosols
# wavelength is 500 nm, number of photons is 10^8
# the surface is wind-roughened ocean surface
# 
# Reflectance computation in Cone Sampling mode (default)
m = Smartg(pp=True).run(   # use plane parallel geometry
    THVDEG=20,             # source zenith angle is 20°
    wl=500.,               # wavelength is 500nm
    NBPHOTONS=1e8,         # number of photons is 10^8
    atm=Profile('afglt'),  # use an AFGL tropical atmosphere without aerosols
    surf=None, water=None  # use a black surface
)
# processed in ~2 seconds on a GeForce GTX 970 graphics card
In [3]:
# plot the TOA intensity
m['I_up (TOA)'].plot_semi()
Out[3]:
<tools.luts.LUT at 0x7fb77a109210>

Advanced example

In [4]:
# run SMART-G
# Reflectance computation in Cone Sampling mode (default)
m = Smartg(pp=False).run(      # use spherical shell geometry
    THVDEG=20,                 # source zenith angle is 20°
    NBTHETA=45,NBPHI=90,       # use 2°x2° angular resolution
    wl=600.,                   # wavelength is 600nm
    NBPHOTONS=1e8,             # number of photons is 10^7
    atm=Profile('afglt',       # use an AFGL tropical atmosphere with aerosols from
        aer=AeroOPAC('maritime_clean', 0.1, 550.)),  # the OPAC database, AOT(550)=0.1
    surf=RoughSurface(WIND=5.),# use a wind-roughened ocean surface, wind speed = 5m/s
    water=IOP_SPM(10)           # use a SPM-dominated ocean body with TSM=10g/m3
)
# processed in < 1 min on a GeForce GTX 970 graphics card
In [5]:
# display the result: intensity and polarization ratio
I = m['I_up (TOA)']
Q = m['Q_up (TOA)']
U = m['U_up (TOA)']
PR = 100*(Q*Q + U*U).apply(np.sqrt)/I
PR.desc = 'Pol. ratio (%)'
I.plot_semi(vmax=0.3)
PR.plot_semi()
Out[5]:
<tools.luts.LUT at 0x7fb770917bd0>