mod_lidar_simulator Module


Uses

  • module~~mod_lidar_simulator~~UsesGraph module~mod_lidar_simulator mod_lidar_simulator module~mod_cosp_stats~2 MOD_COSP_STATS module~mod_lidar_simulator->module~mod_cosp_stats~2 module~mod_cosp_config~2 MOD_COSP_CONFIG module~mod_lidar_simulator->module~mod_cosp_config~2 module~cosp_kinds cosp_kinds module~mod_lidar_simulator->module~cosp_kinds module~mod_cosp_stats~2->module~mod_cosp_config~2 module~mod_cosp_stats~2->module~cosp_kinds module~mod_cosp_config~2->module~cosp_kinds

Contents


Variables

Type Visibility Attributes Name Initial
real(kind=wp), public :: alpha
real(kind=wp), public :: beta
real(kind=wp), public :: gamma

Subroutines

public subroutine lidar_subcolumn(npoints, ncolumns, nlev, lground, beta_mol, tau_mol, betatot, tautot, pmol, pnorm, betatot_ice, tautot_ice, betatot_liq, tautot_liq, pnorm_perp_tot)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: npoints
integer, intent(in) :: ncolumns
integer, intent(in) :: nlev
logical, intent(in) :: lground
real(kind=WP), intent(in), dimension(npoints,nlev) :: beta_mol
real(kind=WP), intent(in), dimension(npoints,nlev) :: tau_mol
real(kind=WP), intent(in), dimension(npoints,ncolumns,nlev) :: betatot
real(kind=WP), intent(in), dimension(npoints,ncolumns,nlev) :: tautot
real(kind=WP), intent(out), dimension(npoints,nlev) :: pmol
real(kind=WP), intent(out), dimension(npoints,ncolumns,nlev) :: pnorm
real(kind=WP), intent(in), optional, dimension(npoints,ncolumns,nlev) :: betatot_ice
real(kind=WP), intent(in), optional, dimension(npoints,ncolumns,nlev) :: tautot_ice
real(kind=WP), intent(in), optional, dimension(npoints,ncolumns,nlev) :: betatot_liq
real(kind=WP), intent(in), optional, dimension(npoints,ncolumns,nlev) :: tautot_liq
real(kind=WP), intent(out), optional, dimension(npoints,ncolumns,nlev) :: pnorm_perp_tot

public subroutine lidar_column(npoints, ncol, nlevels, llm, max_bin, ntype, platform, pnorm, pmol, pplay, zlev, zlev_half, vgrid_z, ok_lidar_cfad, ncat, cfad2, lidarcld, cldlayer, tmp, pnorm_perp, surfelev, lidarcldphase, lidarcldtype, cldtype, cldtypetemp, cldtypemeanz, cldtypemeanzse, cldthinemis, cldlayerphase, lidarcldtmp)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: npoints
integer, intent(in) :: ncol
integer, intent(in) :: nlevels
integer, intent(in) :: llm
integer, intent(in) :: max_bin
integer, intent(in) :: ntype
character(len=*), intent(in) :: platform
real(kind=wp), intent(in), dimension(npoints,ncol,Nlevels) :: pnorm
real(kind=wp), intent(in), dimension(npoints,Nlevels) :: pmol
real(kind=wp), intent(in), dimension(npoints,Nlevels) :: pplay
real(kind=wp), intent(in), dimension(npoints,nlevels) :: zlev
real(kind=wp), intent(in), dimension(npoints,nlevels+1) :: zlev_half
real(kind=wp), intent(in), dimension(llm) :: vgrid_z
logical, intent(in) :: ok_lidar_cfad
integer, intent(in) :: ncat
real(kind=wp), intent(inout), dimension(npoints,max_bin,llm) :: cfad2
real(kind=wp), intent(inout), dimension(npoints,llm) :: lidarcld
real(kind=wp), intent(inout), dimension(npoints,ncat) :: cldlayer
real(kind=wp), intent(in), optional, dimension(npoints,Nlevels) :: tmp
real(kind=wp), intent(in), optional, dimension(npoints,ncol,Nlevels) :: pnorm_perp
real(kind=wp), intent(in), optional, dimension(npoints) :: surfelev
real(kind=wp), intent(out), optional, dimension(npoints,llm,nphase) :: lidarcldphase
real(kind=wp), intent(out), optional, dimension(npoints,llm,ntype+1) :: lidarcldtype
real(kind=wp), intent(out), optional, dimension(npoints,ntype) :: cldtype
real(kind=wp), intent(out), optional, dimension(npoints,ntype) :: cldtypetemp
real(kind=wp), intent(out), optional, dimension(npoints,2) :: cldtypemeanz
real(kind=wp), intent(out), optional, dimension(npoints,3) :: cldtypemeanzse
real(kind=wp), intent(out), optional, dimension(npoints) :: cldthinemis
real(kind=wp), intent(out), optional, dimension(npoints,ncat,nphase) :: cldlayerphase
real(kind=wp), intent(out), optional, dimension(npoints,40,5) :: lidarcldtmp

public subroutine cmp_backsignal(nlev, npoints, beta, tau, pnorm)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nlev
integer, intent(in) :: npoints
real(kind=wp), intent(in), dimension(npoints,nlev) :: beta
real(kind=wp), intent(in), dimension(npoints,nlev) :: tau
real(kind=wp), intent(out), dimension(npoints,nlev) :: pnorm

public subroutine cmp_beta(nlev, npoints, pnorm, tau, beta)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nlev
integer, intent(in) :: npoints
real(kind=wp), intent(in), dimension(npoints,nlev) :: pnorm
real(kind=wp), intent(in), dimension(npoints,nlev) :: tau
real(kind=wp), intent(out), dimension(npoints,nlev) :: beta

public subroutine COSP_CLDFRAC(Npoints, Ncolumns, Nlevels, Ncat, Nphase, tmp, x, ATB, ATBperp, pplay, S_att, S_cld, S_cld_att, undef, lidarcld, cldlayer, lidarcldphase, cldlayerphase, lidarcldtemp)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Npoints
integer, intent(in) :: Ncolumns
integer, intent(in) :: Nlevels
integer, intent(in) :: Ncat
integer, intent(in) :: Nphase
real(kind=wp), intent(in), dimension(Npoints,Nlevels) :: tmp
real(kind=wp), intent(in), dimension(Npoints,Ncolumns,Nlevels) :: x
real(kind=wp), intent(in), dimension(Npoints,Ncolumns,Nlevels) :: ATB
real(kind=wp), intent(in), dimension(Npoints,Ncolumns,Nlevels) :: ATBperp
real(kind=wp), intent(in), dimension(Npoints,Nlevels) :: pplay
real(kind=wp), intent(in) :: S_att
real(kind=wp), intent(in) :: S_cld
real(kind=wp), intent(in) :: S_cld_att
real(kind=wp), intent(in) :: undef
real(kind=wp), intent(out), dimension(Npoints,Nlevels) :: lidarcld
real(kind=wp), intent(out), dimension(Npoints,Ncat) :: cldlayer
real(kind=wp), intent(out), dimension(Npoints,Nlevels,Nphase) :: lidarcldphase
real(kind=wp), intent(out), dimension(Npoints,Ncat,Nphase) :: cldlayerphase
real(kind=wp), intent(out), dimension(Npoints,Ntemp,5) :: lidarcldtemp

public subroutine COSP_CLDFRAC_NOPHASE(Npoints, Ncolumns, Nlevels, Ncat, x, ATB, pplay, S_att, S_cld, S_cld_att, undef, lidarcld, cldlayer)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Npoints
integer, intent(in) :: Ncolumns
integer, intent(in) :: Nlevels
integer, intent(in) :: Ncat
real(kind=wp), intent(in), dimension(Npoints,Ncolumns,Nlevels) :: x
real(kind=wp), intent(in), dimension(Npoints,Ncolumns,Nlevels) :: ATB
real(kind=wp), intent(in), dimension(Npoints,Nlevels) :: pplay
real(kind=wp), intent(in) :: S_att
real(kind=wp), intent(in) :: S_cld
real(kind=wp), intent(in) :: S_cld_att
real(kind=wp), intent(in) :: undef
real(kind=wp), intent(out), dimension(Npoints,Nlevels) :: lidarcld
real(kind=wp), intent(out), dimension(Npoints,Ncat) :: cldlayer

public subroutine COSP_OPAQ(Npoints, Ncolumns, Nlevels, Ntype, tmp, x, S_att, S_cld, undef, lidarcldtype, cldtype, cldtypetemp, cldtypemeanz, cldtypemeanzse, cldthinemis, vgrid_z, surfelev)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: Npoints
integer, intent(in) :: Ncolumns
integer, intent(in) :: Nlevels
integer, intent(in) :: Ntype
real(kind=wp), intent(in), dimension(Npoints,Nlevels) :: tmp
real(kind=wp), intent(in), dimension(Npoints,Ncolumns,Nlevels) :: x
real(kind=wp), intent(in) :: S_att
real(kind=wp), intent(in) :: S_cld
real(kind=wp), intent(in) :: undef
real(kind=wp), intent(out), dimension(Npoints,Nlevels,Ntype+1) :: lidarcldtype
real(kind=wp), intent(out), dimension(Npoints,Ntype) :: cldtype
real(kind=wp), intent(out), dimension(Npoints,Ntype) :: cldtypetemp
real(kind=wp), intent(out), dimension(Npoints,2) :: cldtypemeanz
real(kind=wp), intent(out), dimension(Npoints,3) :: cldtypemeanzse
real(kind=wp), intent(out), dimension(Npoints) :: cldthinemis
real(kind=wp), intent(in), dimension(Nlevels) :: vgrid_z
real(kind=wp), intent(in), dimension(Npoints) :: surfelev