Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add new optional data structure OP (optical profiles) #107

Closed
chengdang opened this issue Feb 13, 2024 · 2 comments
Closed

Add new optional data structure OP (optical profiles) #107

chengdang opened this issue Feb 13, 2024 · 2 comments
Assignees
Labels
CRTM CRTM enhancement New feature or request

Comments

@chengdang
Copy link
Contributor

Per request by CRTM users, we add a new optional data structure OP for the generic optical interface.

@chengdang chengdang added enhancement New feature or request CRTM CRTM labels Feb 13, 2024
@chengdang chengdang self-assigned this Feb 13, 2024
@chengdang
Copy link
Contributor Author

chengdang commented Feb 13, 2024

A new optional data structure OP is added into CRTM.
OP contains optical data that needed for CRTM radiative transfer calculations.
By providing OP profiles, users may skip the traditional LUT-based aerosol/cloud simulations in CRTM.

  TYPE :: OP_Input_type
    ! Allocation indicator
    LOGICAL :: Is_Allocated = .FALSE.
    ! Release and version information
    INTEGER(Long) :: Release = OP_INPUT_RELEASE

    ! Dimensions
    INTEGER :: n_Channels         = 0  ! K dimension
    INTEGER :: n_Layers           = 0  ! L dimension
    INTEGER :: n_Phase_Elements   = 0  ! Ip dimension
    INTEGER :: n_Legendre_Terms   = 0  ! Il dimension
    
    ! Arrays
    REAL(fp), ALLOCATABLE :: tau(:,:)         ! K * L
    REAL(fp), ALLOCATABLE :: bs(:,:)          ! K * L
    REAL(fp), ALLOCATABLE :: kb(:,:)          ! K * L
    REAL(fp), ALLOCATABLE :: pcoeff(:,:,:,:)  ! K * L * Il * Ip

  END TYPE OP_Input_type

@chengdang
Copy link
Contributor Author

Modules related to OP data structures are also added, including:

! ------------
! Visibilities
! ------------
PRIVATE
! Datatypes
PUBLIC :: OP_Input_type
! Operators
PUBLIC :: OPERATOR(==)
! Procedures
PUBLIC :: OP_Input_IsValid
PUBLIC :: OP_Input_Inspect
PUBLIC :: OP_Input_Create
PUBLIC :: OP_Input_Associated
PUBLIC :: OP_Input_InquireFile
PUBLIC :: OP_Input_ReadFile
PUBLIC :: OP_Input_WriteFile

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CRTM CRTM enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant