CanopyRadiativeTransfer
Leaf Inclination Angle
CanopyRadiativeTransfer.lidf_cdf — Functionlidf_cdf(lidf::VerhoefLIDF{FT}, θ::FT) where {FT<:AbstractFloat}Return the cumulative distribution frequency, given
lidfVerhoefLIDFtype 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
canHyperspectralMLCanopytype multiple layer canopylidfVerhoefLIDFtype algorithm
Clumping Index
CanopyRadiativeTransfer.clumping_index! — Functionclumping_index!(can::HyperspectralMLCanopy, angles::SunSensorGeometry{FT}) where {FT<:AbstractFloat}Update the clumping index, given
canHyperspectralMLCanopytype canopyanglesSunSensorGeometrytype angles
Hyperspectral Canopy RT
CanopyRadiativeTransfer.soil_albedo! — Functionsoil_albedo!(can::HyperspectralMLCanopy{FT}, soil::Soil{FT}) where {FT<:AbstractFloat}Updates lower soil boundary reflectance, given
canHyperspectralMLCanopytype structsoilSoiltype 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
szaSolar zenith angle in°liaLeaf 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
szaSolar 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
szaSolar zenith angle in°vzaViewing zenith angle in°raaRelative azimuth angle in°liaLeaf 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
canBroadbandSLCanopytype canopyanglesSunSensorGeometrytype angles
CanopyRadiativeTransfer.extinction_scattering_coefficients! — Methodextinction_scattering_coefficients!(can::HyperspectralMLCanopy{FT}, angles::SunSensorGeometry{FT}) where {FT<:AbstractFloat}Update the extinction and scattering coefficients, given
canHyperspectralMLCanopytype canopyanglesSunSensorGeometrytype 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
canHyperspectralMLCanopytype structanglesSunSensorGeometrytype 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
canHyperspectralMLCanopytype structalbedoBroadbandSoilAlbedoorHyperspectralSoilAlbedotype 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
canHyperspectralMLCanopytype structleavesVector ofLeaves2DsoilBottom 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
canHyperspectralMLCanopytype structleafLeaves1Dtype structradBroadband shortwave or longwave radiationsoilSoiltype 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
canHyperspectralMLCanopytype structalbedoBroadbandSoilAlbedoorHyperspectralSoilAlbedotype 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
canHyperspectralMLCanopytype structleavesVector ofLeaves2DradIncoming shortwave or longwave radiationsoilBottom soil boundary layerAPAR_CARWhether 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
spacMonoMLGrassSPAC,MonoMLPalmSPAC,MonoMLTreeSPACtype SPAC
CanopyRadiativeTransfer.canopy_fluorescence! — Functioncanopy_fluorescence!(spac::Union{MonoMLGrassSPAC{FT}, MonoMLPalmSPAC{FT}, MonoMLTreeSPAC{FT}}) where {FT<:AbstractFloat}Updates canopy fluorescence, given
spacMonoMLGrassSPAC,MonoMLPalmSPAC,MonoMLTreeSPACtype 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
xX-axis of the spectrumyY-axis of the spectrumtargetTarget 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
xX-axis of the spectrumyY-axis of the spectrumx₁Lower x boundaryx₂Upper x boundarystepsThe 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
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_EVI — FunctionMODIS_EVI(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return EVI for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_EVI2 — FunctionMODIS_EVI2(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return EVI2 for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_LSWI — FunctionMODIS_LSWI(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return LSWI for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_NDVI — FunctionMODIS_NDVI(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return NDVI for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_NIR — FunctionMODIS_NIR(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return near infrared band reflectance for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_NIRv — FunctionMODIS_NIRv(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return NIRv for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_NIRvR — FunctionMODIS_NIRvR(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return NIRv radiance for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.MODIS_RED — FunctionMODIS_RED(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return red band reflectance for MODIS setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.OCO2_SIF759 — FunctionOCO2_SIF759(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 759 nm for OCO2 setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.OCO2_SIF770 — FunctionOCO2_SIF770(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 770 nm for OCO2 setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.OCO3_SIF759 — FunctionOCO3_SIF759(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 759 nm for OCO3 setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.OCO3_SIF770 — FunctionOCO3_SIF770(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 770 nm for OCO3 setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.TROPOMI_SIF683 — FunctionTROPOMI_SIF683(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 682.5 nm for TROPOMI setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.TROPOMI_SIF740 — FunctionTROPOMI_SIF740(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 740 nm for TROPOMI setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.TROPOMI_SIF747 — FunctionTROPOMI_SIF747(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 746.5 nm for TROPOMI setup, given
canHyperspectralMLCanopytype canopy
CanopyRadiativeTransfer.TROPOMI_SIF751 — FunctionTROPOMI_SIF751(can::HyperspectralMLCanopy{FT}) where {FT<:AbstractFloat}Return SIF @ 750.5 nm for TROPOMI setup, given
canHyperspectralMLCanopytype canopy