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

Adding OP in CRTM_Options modules #108

Closed chengdang closed 8 months ago

chengdang commented 8 months ago

To use new data structure OP #107, we add new arguments/variables in data type CRTM_Options_type

chengdang commented 8 months ago

In data structure CRTM_Options_Type, we add the following arguments and data for the generic optical interface:

! User defined optical profiles
LOGICAL :: Use_Aerosol_OP = .FALSE.  ! Aerosol
LOGICAL :: Use_Cloud_OP   = .FALSE.  ! Cloud
LOGICAL :: Use_Total_OP   = .FALSE.  ! Aerosol + Cloud
TYPE(OP_Input_Type) :: AOP
TYPE(OP_Input_Type) :: COP
TYPE(OP_Input_Type) :: TOP

Users may choose to define their own aerosol/cloud/total optical profiles, with inputs stored in OP data structures AOP, COP, or TOP respectively.

chengdang commented 8 months ago

During the development, I also considered adding these OP inputs structure as CRTM_AncillaryInput_type, following the setup of SSU_Input_type and Zeeman_Input_type.

After careful review of the code base and seeing this comments: https://github.com/JCSDA/CRTMv3/blob/788756fb773de0ef5da255ee0f84f81559daeb89/src/CRTM_Forward_Module.f90#L408

I think it is better to add OP as part of options data type directly. Should there be any issues or concerns during code review/testing, I'm open to further adjustments.