CanopyRadiativeTransfer
Leaf Inclination Angle
CanopyRadiativeTransfer.lidf_cdf
— Functionlidf_cdf(lidf::VerhoefLIDF{FT}, θ::FT) where {FT<:AbstractFloat}
Return the cumulative distribution frequency, given
lidf
VerhoefLIDF
type algorithmθ
Leaf inclination angle in[°]
CanopyRadiativeTransfer.inclination_angles!
— Functioninclination_angles!(can::Union{BroadbandSLCanopy{FT}, HyperspectralMLCanopy{FT}}, lidf::VerhoefLIDF{FT}) where {FT<:AbstractFloat}
Update the frequency of leaf inclination angles, given
can
HyperspectralMLCanopy
type multiple layer canopylidf
VerhoefLIDF
type algorithm
Clumping Index
CanopyRadiativeTransfer.clumping_index!
— Functionclumping_index!(can::HyperspectralMLCanopy, angles::SunSensorGeometry{FT}) where {FT<:AbstractFloat}
Update the clumping index, given
can
HyperspectralMLCanopy
type canopyangles
SunSensorGeometry
type angles
Hyperspectral Canopy RT
CanopyRadiativeTransfer.soil_albedo!
— Functionsoil_albedo!(can::HyperspectralMLCanopy{FT}, soil::Soil{FT}) where {FT<:AbstractFloat}
Updates lower soil boundary reflectance, given
can
HyperspectralMLCanopy
type structsoil
Soil
type struct
CanopyRadiativeTransfer.extinction_coefficient
— FunctionThis function compute the extinction coefficients for direct and diffuse radiation for given leaf inclination. Supported methods are to
- Compute the coefficient for given direct solar zenith angle (SZA) and leaf inclination angle (LIA)
- Compute the coefficient for diffuse light at given LIA
- Compute the coefficients for given sun-sensor geometry
CanopyRadiativeTransfer.extinction_coefficient
— Methodextinction_coefficient(sza::FT, lia::FT) where {FT<:AbstractFloat}
Return the extinction coefficient for direct radiation, given
sza
Solar zenith angle in°
lia
Leaf inclination angle in°
CanopyRadiativeTransfer.extinction_coefficient
— Methodextinction_coefficient(lia::FT) where {FT<:AbstractFloat}
Return the extinction coefficient for diffuse radiation (unifrom 18 average angles from 2.5° to 87.5°), given
sza
Solar zenith angle in°
CanopyRadiativeTransfer.extinction_coefficient
— Methodextinction_coefficient(sza::FT, vza::FT, raa::FT, lia::FT) where {FT<:AbstractFloat}
Return the extinction and scattering coefficients (extinction coefficients from solar and viewing directions, and scattering coefficients for backward and forward directions, and some sin and cos products: _Co, _Cs, _So, _Ss), given
sza
Solar zenith angle in°
vza
Viewing zenith angle in°
raa
Relative azimuth angle in°
lia
Leaf inclination angle in°
CanopyRadiativeTransfer.extinction_scattering_coefficients!
— FunctionThis function updates the extinction (and scattering) coefficients for canopy. Supported methods are to
- Update coefficients for broadband single layer canopy
- Update coefficients for hyperspectral mutiple layers canopy
CanopyRadiativeTransfer.extinction_scattering_coefficients!
— Methodextinction_scattering_coefficients!(can::BroadbandSLCanopy{FT}, angles::SunSensorGeometry{FT}) where {FT<:AbstractFloat}
Update the extinction and scattering coefficients, given
can
BroadbandSLCanopy
type canopyangles
SunSensorGeometry
type angles
CanopyRadiativeTransfer.extinction_scattering_coefficients!
— Methodextinction_scattering_coefficients!(can::HyperspectralMLCanopy{FT}, angles::SunSensorGeometry{FT}) where {FT<:AbstractFloat}
Update the extinction and scattering coefficients, given
can
HyperspectralMLCanopy
type canopyangles
SunSensorGeometry
type angles
CanopyRadiativeTransfer.canopy_optical_properties!
— FunctionThis function updates canopy optical properties for canopy. The supported methods are to
- Update the extinction coefficients
- Update the soil boundary conditions (not public function)
- Update scattering coefficient matrices
CanopyRadiativeTransfer.canopy_optical_properties!
— Methodcanopy_optical_properties!(can::HyperspectralMLCanopy{FT}, angles::SunSensorGeometry{FT}) where {FT<:AbstractFloat}
Updates canopy optical properties (extinction coefficients for direct and diffuse light) based on the SAIL model, given
can
HyperspectralMLCanopy
type structangles
SunSensorGeometry
type struct
CanopyRadiativeTransfer.canopy_optical_properties!
— Methodcanopy_optical_properties!(can::HyperspectralMLCanopy{FT}, albedo::BroadbandSoilAlbedo{FT}) where {FT<:AbstractFloat}
canopy_optical_properties!(can::HyperspectralMLCanopy{FT}, albedo::HyperspectralSoilAlbedo{FT}) where {FT<:AbstractFloat}
Updates lower soil boundary reflectance, given
can
HyperspectralMLCanopy
type structalbedo
BroadbandSoilAlbedo
orHyperspectralSoilAlbedo
type soil albedo
CanopyRadiativeTransfer.canopy_optical_properties!
— Methodcanopy_optical_properties!(can::HyperspectralMLCanopy{FT}, leaves::Vector{Leaves2D{FT}}, soil::Soil{FT}) where {FT<:AbstractFloat}
Updates canopy optical properties (scattering coefficient matrices), given
can
HyperspectralMLCanopy
type structleaves
Vector ofLeaves2D
soil
Bottom soil boundary layer
CanopyRadiativeTransfer.canopy_radiation!
— FunctionThis function updates canopy radiation profiles. The supported methods are to
- Update shortwave radiation profile for broadband or hyperspectral canopy
- Updates soil shortwave radiation profiles
- Update longwave radation profile for broadband or hyperspectral canopy
- Update radiation profile for SPAC
CanopyRadiativeTransfer.canopy_radiation!
— Methodcanopy_radiation!(can::BroadbandSLCanopy{FT}, leaf::Leaves1D{FT}, rad::BroadbandRadiation{FT}, soil::Soil{FT}) where {FT<:AbstractFloat}
canopy_radiation!(can::BroadbandSLCanopy{FT}, leaf::Leaves1D{FT}, rad::FT, soil::Soil{FT}) where {FT<:AbstractFloat}
Updates shortwave or longwave radiation profiles, given
can
HyperspectralMLCanopy
type structleaf
Leaves1D
type structrad
Broadband shortwave or longwave radiationsoil
Soil
type struct
CanopyRadiativeTransfer.canopy_radiation!
— Methodcanopy_radiation!(can::HyperspectralMLCanopy{FT}, albedo::BroadbandSoilAlbedo{FT}) where {FT<:AbstractFloat}
canopy_radiation!(can::HyperspectralMLCanopy{FT}, albedo::HyperspectralSoilAlbedo{FT}) where {FT<:AbstractFloat}
Updates soil shortwave radiation profiles, given
can
HyperspectralMLCanopy
type structalbedo
BroadbandSoilAlbedo
orHyperspectralSoilAlbedo
type soil albedo
CanopyRadiativeTransfer.canopy_radiation!
— Methodcanopy_radiation!(can::HyperspectralMLCanopy{FT}, leaves::Vector{Leaves2D{FT}}, rad::HyperspectralRadiation{FT}, soil::Soil{FT}; APAR_CAR::Bool = true) where {FT<:AbstractFloat}
canopy_radiation!(can::HyperspectralMLCanopy{FT}, leaves::Vector{Leaves2D{FT}}, rad::FT, soil::Soil{FT}) where {FT<:AbstractFloat}
Updates canopy radiation profiles for shortwave or longwave radiation, given
can
HyperspectralMLCanopy
type structleaves
Vector ofLeaves2D
rad
Incoming shortwave or longwave radiationsoil
Bottom soil boundary layerAPAR_CAR
Whether carotenoid absorption is counted in PPAR, default is true
CanopyRadiativeTransfer.canopy_radiation!
— Methodcanopy_radiation!(spac::Union{MonoMLGrassSPAC{FT}, MonoMLPalmSPAC{FT}, MonoMLTreeSPAC{FT}}) where {FT<:AbstractFloat}
Updates canopy radiation profiles for shortwave and longwave radiation, given
spac
MonoMLGrassSPAC
,MonoMLPalmSPAC
,MonoMLTreeSPAC
type SPAC
CanopyRadiativeTransfer.canopy_fluorescence!
— Functioncanopy_fluorescence!(spac::Union{MonoMLGrassSPAC{FT}, MonoMLPalmSPAC{FT}, MonoMLTreeSPAC{FT}}) where {FT<:AbstractFloat}
Updates canopy fluorescence, given
spac
MonoMLGrassSPAC
,MonoMLPalmSPAC
,MonoMLTreeSPAC
type SPAC
Remote Sensing Applications
CanopyRadiativeTransfer.read_spectrum
— FunctionThis function interpolate the spectrum to give values at the target wavelength bin(s). The supported methods include
- Interpolate the spectrum at a given wavelength
- Interpolate the spectrum in a given wavelength range
CanopyRadiativeTransfer.read_spectrum
— Methodread_spectrum(x::Vector{FT}, y::Vector{FT}, target::FT) where {FT<:AbstractFloat}
Return the spectrum value at target wavelength bin, given
x
X-axis of the spectrumy
Y-axis of the spectrumtarget
Target x value
CanopyRadiativeTransfer.read_spectrum
— Methodread_spectrum(x::Vector{FT}, y::Vector{FT}, x₁::FT, x₂::FT; steps::Int = 2) where {FT<:AbstractFloat}
Return the spectrum value at target wavelength bin, given
x
X-axis of the spectrumy
Y-axis of the spectrumx₁
Lower x boundaryx₂
Upper x boundarysteps
The incremental Δx is(x₂ - x₁) / steps
CanopyRadiativeTransfer.MODIS_BLUE
— FunctionMODIS_BLUE(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return blue band reflectance for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_EVI
— FunctionMODIS_EVI(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return EVI for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_EVI2
— FunctionMODIS_EVI2(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return EVI2 for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_LSWI
— FunctionMODIS_LSWI(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return LSWI for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_NDVI
— FunctionMODIS_NDVI(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return NDVI for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_NIR
— FunctionMODIS_NIR(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return near infrared band reflectance for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_NIRv
— FunctionMODIS_NIRv(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return NIRv for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_NIRvR
— FunctionMODIS_NIRvR(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return NIRv radiance for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.MODIS_RED
— FunctionMODIS_RED(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return red band reflectance for MODIS setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.OCO2_SIF759
— FunctionOCO2_SIF759(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 759 nm for OCO2 setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.OCO2_SIF770
— FunctionOCO2_SIF770(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 770 nm for OCO2 setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.OCO3_SIF759
— FunctionOCO3_SIF759(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 759 nm for OCO3 setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.OCO3_SIF770
— FunctionOCO3_SIF770(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 770 nm for OCO3 setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.TROPOMI_SIF683
— FunctionTROPOMI_SIF683(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 682.5 nm for TROPOMI setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.TROPOMI_SIF740
— FunctionTROPOMI_SIF740(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 740 nm for TROPOMI setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.TROPOMI_SIF747
— FunctionTROPOMI_SIF747(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 746.5 nm for TROPOMI setup, given
can
HyperspectralMLCanopy
type canopy
CanopyRadiativeTransfer.TROPOMI_SIF751
— FunctionTROPOMI_SIF751(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}
Return SIF @ 750.5 nm for TROPOMI setup, given
can
HyperspectralMLCanopy
type canopy