Closed chengdang closed 1 month ago
All code updates are pushed to branch: https://github.com/JCSDA/CRTMv3/tree/feature/cd_AirCraft_STAR
These updates are merged manually into the current CRTM develop branch, with the following notes:
src/Options/CRTM_Options_Define.f90
Obs_4_downward_P
src/RTSolution/RTV_Define.f90
obs_4_downward_type
... Aircraft level and downward AD calculation
src/RTSolution/Common_RTSolution.f90
RTV%obs_4_downward%rt = TRUE
src/RTSolution/ADA/ADA_Module.f90
SUBROUTINE CRTM_ADA
src/CRTM_Forward_Module.f90
Add downward radiance calculation: IF ( Opt%Obs_4_downward_P > ZERO ) THEN
The following code block is moved to a new n_channel_threads loop:
! Process aircraft pressure altitude
IF ( Opt%Aircraft_Pressure > ZERO ) THEN
RTV(nt)%aircraft%rt = .TRUE.
RTV(nt)%aircraft%idx = CRTM_Get_PressureLevelIdx(Atm, Opt%Aircraft_Pressure)
! ...Issue warning if profile level is TOO different from flight level
IF ( ABS(Atm%Level_Pressure(RTV(nt)%aircraft%idx)-Opt%Aircraft_Pressure) > AIRCRAFT_PRESSURE_THRESHOLD ) THEN
WRITE( Message,'("Difference between aircraft pressure level (",es22.15,&
&"hPa) and closest input profile level (",es22.15,&
&"hPa) is larger than recommended (",f4.1,"hPa) for profile #",i0)') &
Opt%Aircraft_Pressure, Atm%Level_Pressure(RTV(nt)%aircraft%idx), &
AIRCRAFT_PRESSURE_THRESHOLD, m
CALL Display_Message( ROUTINE_NAME, Message, WARNING )
END IF
ELSE
RTV(nt)%aircraft%rt = .FALSE.
END IF
Note that all the updates in https://github.com/JCSDA/CRTMv3/tree/CloudRadar_AirCraft regarding radar sensor has not been made, therefore no changes to the subroutine CRTM_Compute_CloudScatter
The initial code updates are delivered by Mark and Yingtao, in branch: https://github.com/JCSDA/CRTMv3/tree/CloudRadar_AirCraft
This issue focuses only on the calculations regarding aircraft level sensors and the radiative transfer solver.