JCSDA / CRTMv3

CRTMv3 repository for coordinated development and releases. Code history is not carried in this repository prior to v3, to reduce the cloning overhead. For v2.x history leading up to v3, see JCSDA/crtm repository.
Other
6 stars 6 forks source link

Add TOA albedo/reflectance in CRTM #84

Closed chengdang closed 8 months ago

chengdang commented 1 year ago

Add TOA albedo/reflectance in CRTM forward/TL/AD calculations

chengdang commented 1 year ago

With the CRTM V3 updates, solar_irradiance has been added in RTS data structure (not by me). Both TOA downward solar irradiance and computed radiance are saved as part of the standard outputs, where:

RTV%Solar_Irradiance       = SC(SensorIndex)%Solar_Irradiance(ChannelIndex) * GeometryInfo%AU_ratio2
RTSolution%Solar_Irradiance = RTV%Solar_Irradiance

RTV%Down_Solar_Radiance = cosine_u0*EXP(-RTV%Total_OD/cosine_u0)*Solar_Irradiance/PI 
RTSolution%Down_Solar_Radiance     = RTV%Down_Solar_Radiance

NOTE: (1) Solar_Irradiance is solar irradiance at TOA. (2) Down_Solar_Radiance is solar radiance that reaches the surface, which only gets output/computed with emission model.

chengdang commented 1 year ago

Initial implementations on TOA reflectance are added in branch: https://github.com/JCSDA/CRTMv3/tree/feature/cd_TOA_R

Introduced the TOA reflectance in RTSolution as Reflectance: https://github.com/JCSDA/CRTMv3/blob/621601bd5f915daec29a2da338460838ae3a33f4/src/RTSolution/CRTM_RTSolution_Define.f90#L234

Which is computed with the following formula in Common_RTSolution.f90

    ! -------------------------------------------------------
    ! Compute the corresponding solar reflectance (TOA only)
    ! -------------------------------------------------------
    IF( RTV%Solar_Flag_true .AND. (.NOT.(RTV%aircraft%rt))) THEN
      RTSolution%Reflectance = RTSolution%Radiance/(RTV%COS_SUN*RTV%Solar_irradiance/PI)
    END IF

With the following notes:

chengdang commented 1 year ago

TL/K_matrix reflectance implementation are pending per issue #89.