SPART.SAILH module¶
SAILH Canopy model.
Ported from the original run_spart matlab code.
- SAILH model outlined in:
- Theory of radiative transfer models applied in optical remote sensing
- W Verhoef 1998
-
class
src.spart.sailh.Angles(sol_angle, obs_angle, rel_angle)¶ Bases:
objectClass to hold solar zenith, observation zenith, and relative azimuth angles.
Parameters: - sol_angle (float) – Solar zenith angle, degrees
- obs_angle (float) – Observer zenith angle, degrees
- rel_angle (float) – Relative azimuth angle, degrees
-
sol_angle¶ Solar zenith angle, degrees
Type: float
-
obs_angle¶ Observer zenith angle, degrees
Type: float
-
rel_angle¶ Relative azimuth angle, degrees
Type: float
-
class
src.spart.sailh.CanopyReflectances(rso, rdo, rsd, rdd)¶ Bases:
object
-
class
src.spart.sailh.CanopyStructure(LAI, LIDFa, LIDFb, q)¶ Bases:
objectClass to hold canopy properties. Some are user specified, others are SAIL model assumptions.
Parameters: - LAI (float) – Leaf area index, 0 to 8
- LIDFa (float) – Leaf inclination distribution function parameter a, range -1 to 1
- LIDFb (float) – Leaf inclination distribution function parameter b, range -1 to 1
- q (float) – Canopy hotspot parameter: leaf width / canopy height, range 0 to 0.2
-
LAI¶ Leaf area index, 0 to 8
Type: float
-
LIDFa¶ Leaf inclination distribution function parameter a, range -1 to 1
Type: float
-
LIDFb¶ Leaf inclination distribution function parameter b, range -1 to 1
Type: float
-
q¶ Canopy hotspot parameter: leaf width / canopy height, range 0 to 0.2
Type: float
-
nlayers¶ Number of layers in canopy, 60 (SAIL assumption)
Type: int
-
nlincl¶ Number of different leaf inclination angles, 13 (SAIL assumption)
Type: int
-
nlazi¶ Number of different leaf azimuth angles, 36 (SAIL assumption)
Type: int
-
lidf¶ Leaf inclination distribution function, calculated from LIDF params
Type: np.array
-
src.spart.sailh.SAILH(soil, leafopt, canopy, angles)¶ Run the SAILH model.
Parameters: - soil (bsm.SoilOptics) – Contains soil reflectance spectra for 400 nm to 2400 nm
- leafopt (prospect_5d.LeafOptics) – Contains leaf reflectance and transmittance spectra, 400 nm to 2400 nm, 2500 to 15000 nm, and 16000 to 50000 nm.
- canopy (CanopyStructure) – Contains canopy information and SAIL model assumptions
- angles (Angles) – Holds solar zenith, observer zenith, and relative azimuth angles
Returns: Contains the four canopy reflectances arrays as attributes rso, rdo, rsd, rdd.
Return type:
-
src.spart.sailh.calculate_leafangles(LIDFa, LIDFb)¶ Calculate the Leaf Inclination Distribution Function as outlined by Verhoef in paper cited at the top of this script.
Parameters: - LIDFa (float) – Leaf inclination distribution function parameter a, range -1 to 1
- LIDFb (float) – Leaf inclination distribution function parameter b, range -1 to 1
Returns: Leaf inclination distribution function, calculated from LIDF
Return type: np.array