SPART.SPART module¶
Soil-Plant-Atmosphere Radiative Transfer model for top-of-canopy and top-of-atmosphere reflectance
Coupling bsm, PROSAIL and smac to simulate TOA reflectance
Python port coded by George Worrall (gworrall@ufl.edu) Center for Remote Sensing, University of Florida
Ported to Python from the original matlab code and model developed by:
Peiqi Yang (p.yang@utwente.nl) Christiaan van der Tol (c.vandertol@utwente.nl) Wout Verhoef (w.verhoef@utwente.nl)
University of Twente Faculty of Geo-Information Science and Earth Observation (ITC), Department of Water Resources
-
class
src.spart.SPART(soilpar, leafbio, canopy, atm, angles, sensor, DOY)¶ Bases:
objectrun_spart model.
Parameters: - soilpar (SoilParameters) – Holds the soil parameters for the bsm model.
- leafbio (LeafBiology) – Hold the leaf biology parameters for the PROSPECT model.
- canopy (CanopyStructure) – Holds the canopy parameters for the sailh model.
- atm (AtmosphericProperties) – Holds the atmospheric properties for the smac model.
- sensor (str) – Name of RS platform to simulate. This is done after the SAIL stage and saves on atmospheric diffuse reflectance calculations for TOC and atmospheric correction calculations for TOA. Currently available: ‘TerraAqua-MODIS’ ‘LANDSAT4-TM’ ‘LANDSAT5-TM’ ‘LANDSAT7-ETM’ ‘LANDSAT8-OLI’ ‘Sentinel2A-MSI’ ‘Sentinel2B-MSI’ ‘Sentinel3A-OLCI’ ‘Sentinel3B-OLCI’
- DOY (int) – Day of the year - Julian calendar
-
soilopt¶ Contains soil reflectances
Type: bsm.SoilOptics
-
leafopt¶ Contains leaf reflectance and transmittance and fraction contributed by chlorophyll
Type: prospect_5d.LeafOptics
-
canopyopt¶ Contains bidrectional and directional, diffuce and specular reflectance
Type: sailh.CanopyReflectances
-
R_TOC¶ Top of canopy reflectance
Type: np.array
-
R_TOA¶ Top of atmosphere reflectance
Type: np.array
-
L_TOA¶ Top of atmosphere radiance
Type: np.array
-
DOY¶
-
angles¶
-
atm¶
-
canopy¶
-
leafbio¶
-
run(debug=False)¶ Run the run_spart model.
Parameters: debug (bool) – if True, returns the simulated BSM derived soil spectra as well as additional output column. Default: False Returns: Contains the radiances and reflectances columns ‘Band’ ‘L_TOA’ ‘R_TOA’ ‘R_TOC’ index by central band wavelength Return type: pd.DataFrame
-
sensor¶
-
set_refl_trans_assumptions()¶ Sets the model assumptions about soil and leaf reflectance and transmittance in the thermal range.
These are that soil reflectance is the value for 2400 nm in the entire thermal range and that leaf relctance and transmittance are 0.01 in the thermal range (this is a model assumption that is set in the LeafBiology class in the bsm script)
Returns: Return type: None
-
soilpar¶
-
class
src.spart.SpectralBands¶ Bases:
objectClass to hold definitions of spectral band ranges and wavelengths.
-
wlP¶ Range of wavelengths over which the PROSPECT model operates.
Type: np.array
-
wlE¶ Range of wavelengths in E-F excitation matrix
Type: np.array
-
wlF¶ Range of wavelengths for chlorophyll fluorescence in E-F matrix
Type: np.array
-
wlO¶ Range of wavelengths in the optical part of the spectrum
Type: np.array
-
wlT¶ Range of wavelengths in the thermal part of the spectrum
Type: np.array
-
wlS¶ Range of wavelengths for the solar spectrum. wlO and wlT combined.
Type: np.array
-
wlPAR¶ Range of wavelengths for photosynthetically active radiation
Type: np.array
-
nwlP¶ Number of optical bands
Type: int
-
nwlT¶ Number of thermal bands
Type: int
-
IwlP¶ Index of optical bands
Type: range
-
IwlT¶ Index of thermal bands
Type: range
-
-
src.spart.calculate_ET_radiance(Ea, DOY, tts)¶ Calculate extraterrestrial radiation.
Parameters: - Ea (float) – Solar constant for spectral irradiance
- DOY (int) – Day of year, Julian calendar
- tts (float) – Solar zenith angle in degrees
Returns: Solar extraterrestrial spectrum
Return type: np.array
Note
- see: https://www.sciencedirect.com/topics/engineering/
- extraterrestrial-radiation
-
src.spart.calculate_spectral_convolution(wl_hi, radiation_spectra, sensorinfo)¶ Calculate the spectral convolution for a given spectral response function.
Parameters: - wl_hi (np.array) – Arrays of wavelengths to be convolved
- radiation_spectra (np.array) – irradiance or radiance to be convolved
- sensorinfo (dict) – Contains keys ‘wl_srf’ -> number of bands contrib * number of bands post con ‘p_srf’ -> relative contribution of each band
Returns: Convolution result
Return type: np.array
-
src.spart.load_ET_parameters()¶ Load extratrerrestrial parameters from saved arrays
-
src.spart.load_optical_parameters()¶ Load optical parameters from saved arrays
-
src.spart.load_sensor_info(sensor)¶ Load RS sensor information from saved arrays