MOD_COSP Module


Uses

  • module~~mod_cosp~~UsesGraph module~mod_cosp MOD_COSP module~mod_lidar_simulator~2 mod_lidar_simulator module~mod_cosp->module~mod_lidar_simulator~2 module~mod_cosp_cloudsat_interface MOD_COSP_CLOUDSAT_INTERFACE module~mod_cosp->module~mod_cosp_cloudsat_interface module~mod_cosp_parasol_interface MOD_COSP_PARASOL_INTERFACE module~mod_cosp->module~mod_cosp_parasol_interface module~mod_misr_simulator~2 MOD_MISR_SIMULATOR module~mod_cosp->module~mod_misr_simulator~2 module~mod_parasol mod_parasol module~mod_cosp->module~mod_parasol module~mod_modis_sim mod_modis_sim module~mod_cosp->module~mod_modis_sim module~mod_cosp_modis_interface~2 MOD_COSP_Modis_INTERFACE module~mod_cosp->module~mod_cosp_modis_interface~2 module~mod_cosp_isccp_interface MOD_COSP_ISCCP_INTERFACE module~mod_cosp->module~mod_cosp_isccp_interface module~mod_cosp_grlidar532_interface~2 MOD_COSP_GRLIDAR532_INTERFACE module~mod_cosp->module~mod_cosp_grlidar532_interface~2 module~mod_cosp_misr_interface~2 MOD_COSP_MISR_INTERFACE module~mod_cosp->module~mod_cosp_misr_interface~2 module~mod_cosp_config~2 MOD_COSP_CONFIG module~mod_cosp->module~mod_cosp_config~2 module~mod_cosp_calipso_interface MOD_COSP_CALIPSO_INTERFACE module~mod_cosp->module~mod_cosp_calipso_interface module~cosp_kinds cosp_kinds module~mod_cosp->module~cosp_kinds module~mod_cosp_atlid_interface~2 MOD_COSP_ATLID_INTERFACE module~mod_cosp->module~mod_cosp_atlid_interface~2 module~mod_cosp_stats~2 MOD_COSP_STATS module~mod_cosp->module~mod_cosp_stats~2 module~quickbeam quickbeam module~mod_cosp->module~quickbeam module~mod_icarus~2 MOD_ICARUS module~mod_cosp->module~mod_icarus~2 module~mod_lidar_simulator~2->module~mod_cosp_config~2 module~mod_lidar_simulator~2->module~cosp_kinds module~mod_lidar_simulator~2->module~mod_cosp_stats~2 module~mod_cosp_cloudsat_interface->module~cosp_kinds module~mod_cosp_cloudsat_interface->module~quickbeam module~mod_cosp_parasol_interface->module~cosp_kinds module~mod_misr_simulator~2->module~mod_cosp_config~2 module~mod_misr_simulator~2->module~cosp_kinds module~mod_misr_simulator~2->module~mod_cosp_stats~2 module~mod_parasol->module~mod_cosp_config~2 module~mod_parasol->module~cosp_kinds module~cosp_math_constants cosp_math_constants module~mod_parasol->module~cosp_math_constants module~mod_cosp_types~2 MOD_COSP_TYPES module~mod_modis_sim->module~mod_cosp_types~2 module~mod_cosp_modis_interface~2->module~mod_modis_sim module~mod_cosp_modis_interface~2->module~mod_cosp_config~2 module~mod_cosp_modis_interface~2->module~cosp_kinds module~mod_cosp_isccp_interface->module~cosp_kinds module~mod_cosp_isccp_interface->module~mod_icarus~2 module~mod_cosp_grlidar532_interface~2->module~cosp_kinds module~mod_cosp_misr_interface~2->module~cosp_kinds module~mod_cosp_config~2->module~cosp_kinds module~mod_cosp_calipso_interface->module~mod_lidar_simulator~2 module~mod_cosp_calipso_interface->module~cosp_kinds module~mod_cosp_atlid_interface~2->module~cosp_kinds module~mod_cosp_stats~2->module~mod_cosp_config~2 module~mod_cosp_stats~2->module~cosp_kinds module~quickbeam->module~mod_cosp_config~2 module~quickbeam->module~cosp_kinds module~quickbeam->module~mod_cosp_stats~2 module~mod_icarus~2->module~mod_cosp_config~2 module~mod_icarus~2->module~cosp_kinds module~mod_icarus~2->module~mod_cosp_stats~2 module~cosp_phys_constants cosp_phys_constants module~mod_icarus~2->module~cosp_phys_constants module~cosp_math_constants->module~cosp_kinds module~cosp_phys_constants->module~cosp_kinds module~mod_cosp_utils MOD_COSP_UTILS module~mod_cosp_types~2->module~mod_cosp_utils module~radar_simulator_types radar_simulator_types module~mod_cosp_types~2->module~radar_simulator_types module~mod_cosp_constants~2 MOD_COSP_CONSTANTS module~mod_cosp_types~2->module~mod_cosp_constants~2 module~mod_cosp_utils->module~mod_cosp_constants~2

Used by

  • module~~mod_cosp~~UsedByGraph module~mod_cosp MOD_COSP module~lmdz_cosp_subsample_and_optics_mod~2 LMDZ_COSP_SUBSAMPLE_AND_OPTICS_MOD module~lmdz_cosp_subsample_and_optics_mod~2->module~mod_cosp module~lmdz_cosp_construct_destroy_mod~2 LMDZ_COSP_CONSTRUCT_DESTROY_MOD module~lmdz_cosp_construct_destroy_mod~2->module~mod_cosp module~lmdz_cosp_subsample_and_optics_mod LMDZ_COSP_SUBSAMPLE_AND_OPTICS_MOD module~lmdz_cosp_subsample_and_optics_mod->module~mod_cosp module~lmdz_cosp_construct_destroy_mod LMDZ_COSP_CONSTRUCT_DESTROY_MOD module~lmdz_cosp_construct_destroy_mod->module~mod_cosp proc~lmdz_cosp_output_write~2 lmdz_cosp_output_write proc~lmdz_cosp_output_write~2->module~mod_cosp proc~lmdz_cosp_interface~2 lmdz_cosp_interface proc~lmdz_cosp_interface~2->module~mod_cosp proc~lmdz_cosp_interface~2->module~lmdz_cosp_subsample_and_optics_mod~2 proc~lmdz_cosp_interface~2->module~lmdz_cosp_construct_destroy_mod proc~lmdz_cosp_output_write lmdz_cosp_output_write proc~lmdz_cosp_output_write->module~mod_cosp proc~lmdz_cosp_interface lmdz_cosp_interface proc~lmdz_cosp_interface->module~mod_cosp proc~lmdz_cosp_interface->module~lmdz_cosp_subsample_and_optics_mod~2 proc~lmdz_cosp_interface->module~lmdz_cosp_construct_destroy_mod

Contents


Variables

Type Visibility Attributes Name Initial
logical, public :: linitialization

Derived Types

type, public ::  cosp_column_inputs

Components

Type Visibility Attributes Name Initial
integer, public :: Npoints
integer, public :: Ncolumns
integer, public :: Nlevels
integer, public, allocatable, dimension(:) :: sunlit
real(kind=wp), public, allocatable, dimension(:,:) :: at
real(kind=wp), public, allocatable, dimension(:,:) :: pfull
real(kind=wp), public, allocatable, dimension(:,:) :: phalf
real(kind=wp), public, allocatable, dimension(:,:) :: qv
real(kind=wp), public, allocatable, dimension(:,:) :: hgt_matrix
real(kind=wp), public, allocatable, dimension(:,:) :: hgt_matrix_half
real(kind=wp), public, allocatable, dimension(:) :: land
real(kind=wp), public, allocatable, dimension(:) :: skt
real(kind=wp), public, allocatable, dimension(:) :: surfelev
integer, public :: month
real(kind=wp), public :: zenang
real(kind=wp), public :: co2
real(kind=wp), public :: ch4
real(kind=wp), public :: n2o
real(kind=wp), public :: co
real(kind=wp), public, allocatable, dimension(:) :: emis_sfc
real(kind=wp), public, allocatable, dimension(:) :: u_sfc
real(kind=wp), public, allocatable, dimension(:) :: v_sfc
real(kind=wp), public, allocatable, dimension(:) :: seaice
real(kind=wp), public, allocatable, dimension(:) :: lat
real(kind=wp), public, allocatable, dimension(:) :: lon
real(kind=wp), public, allocatable, dimension(:,:) :: o3
real(kind=wp), public, allocatable, dimension(:,:) :: tca
real(kind=wp), public, allocatable, dimension(:,:) :: cloudIce
real(kind=wp), public, allocatable, dimension(:,:) :: cloudLiq
real(kind=wp), public, allocatable, dimension(:,:) :: fl_rain
real(kind=wp), public, allocatable, dimension(:,:) :: fl_snow

type, public ::  cosp_optical_inputs

Components

Type Visibility Attributes Name Initial
integer, public :: Npoints
integer, public :: Ncolumns
integer, public :: Nlevels
integer, public :: Npart
integer, public :: Nrefl
real(kind=wp), public :: emsfc_lw
real(kind=wp), public, allocatable, dimension(:,:,:) :: frac_out
real(kind=wp), public, allocatable, dimension(:,:,:) :: tau_067
real(kind=wp), public, allocatable, dimension(:,:,:) :: emiss_11
real(kind=wp), public, allocatable, dimension(:,:,:) :: fracLiq
real(kind=wp), public, allocatable, dimension(:,:,:) :: asym
real(kind=wp), public, allocatable, dimension(:,:,:) :: ss_alb
real(kind=wp), public, allocatable, dimension(:,:,:) :: betatot_calipso
real(kind=wp), public, allocatable, dimension(:,:,:) :: betatot_grLidar532
real(kind=wp), public, allocatable, dimension(:,:,:) :: betatot_atlid
real(kind=wp), public, allocatable, dimension(:,:,:) :: betatot_ice_calipso
real(kind=wp), public, allocatable, dimension(:,:,:) :: betatot_liq_calipso
real(kind=wp), public, allocatable, dimension(:,:,:) :: tautot_calipso
real(kind=wp), public, allocatable, dimension(:,:,:) :: tautot_grLidar532
real(kind=wp), public, allocatable, dimension(:,:,:) :: tautot_atlid
real(kind=wp), public, allocatable, dimension(:,:,:) :: tautot_ice_calipso
real(kind=wp), public, allocatable, dimension(:,:,:) :: tautot_liq_calipso
real(kind=wp), public, allocatable, dimension(:,:,:) :: z_vol_cloudsat
real(kind=wp), public, allocatable, dimension(:,:,:) :: kr_vol_cloudsat
real(kind=wp), public, allocatable, dimension(:,:,:) :: g_vol_cloudsat
real(kind=wp), public, allocatable, dimension(:,:) :: beta_mol_calipso
real(kind=wp), public, allocatable, dimension(:,:) :: beta_mol_grLidar532
real(kind=wp), public, allocatable, dimension(:,:) :: beta_mol_atlid
real(kind=wp), public, allocatable, dimension(:,:) :: tau_mol_calipso
real(kind=wp), public, allocatable, dimension(:,:) :: tau_mol_grLidar532
real(kind=wp), public, allocatable, dimension(:,:) :: tau_mol_atlid
real(kind=wp), public, allocatable, dimension(:,:) :: tautot_S_liq
real(kind=wp), public, allocatable, dimension(:,:) :: tautot_S_ice
real(kind=wp), public, allocatable, dimension(:,:) :: fracPrecipIce
type(radar_cfg), public :: rcfg_cloudsat

type, public ::  cosp_outputs

Components

Type Visibility Attributes Name Initial
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_betaperp_tot => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_beta_tot => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_tau_tot => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_lidarcldphase => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_lidarcldtype => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_cldlayerphase => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_lidarcldtmp => null()
real(kind=wp), public, dimension(:,:,:), pointer :: calipso_cfad_sr => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_lidarcld => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_cldlayer => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_cldtype => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_cldtypetemp => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_cldtypemeanz => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_cldtypemeanzse => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_beta_mol => null()
real(kind=wp), public, dimension(:,:), pointer :: calipso_temp_tot => null()
real(kind=wp), public, dimension(:), pointer :: calipso_cldthinemis => null()
real(kind=wp), public, dimension(:), pointer :: calipso_srbval => null()
real(kind=wp), public, dimension(:,:,:), pointer :: grLidar532_beta_tot => null()
real(kind=wp), public, dimension(:,:,:), pointer :: grLidar532_cfad_sr => null()
real(kind=wp), public, dimension(:,:), pointer :: grLidar532_lidarcld => null()
real(kind=wp), public, dimension(:,:), pointer :: grLidar532_cldlayer => null()
real(kind=wp), public, dimension(:,:), pointer :: grLidar532_beta_mol => null()
real(kind=wp), public, dimension(:), pointer :: grLidar532_srbval => null()
real(kind=wp), public, dimension(:,:,:), pointer :: atlid_beta_tot => null()
real(kind=wp), public, dimension(:,:,:), pointer :: atlid_cfad_sr => null()
real(kind=wp), public, dimension(:,:), pointer :: atlid_lidarcld => null()
real(kind=wp), public, dimension(:,:), pointer :: atlid_cldlayer => null()
real(kind=wp), public, dimension(:,:), pointer :: atlid_beta_mol => null()
real(kind=wp), public, dimension(:), pointer :: atlid_srbval => null()
real(kind=wp), public, dimension(:,:,:), pointer :: parasolPix_refl => null()
real(kind=wp), public, dimension(:,:), pointer :: parasolGrid_refl => null()
real(kind=wp), public, dimension(:,:,:), pointer :: cloudsat_Ze_tot => null()
real(kind=wp), public, dimension(:,:,:), pointer :: cloudsat_cfad_ze => null()
real(kind=wp), public, dimension(:,:), pointer :: lidar_only_freq_cloud => null()
real(kind=wp), public, dimension(:,:), pointer :: cloudsat_precip_cover => null()
real(kind=wp), public, dimension(:), pointer :: cloudsat_tcc => null()
real(kind=wp), public, dimension(:), pointer :: cloudsat_tcc2 => null()
real(kind=wp), public, dimension(:), pointer :: radar_lidar_tcc => null()
real(kind=wp), public, dimension(:), pointer :: cloudsat_pia => null()
real(kind=wp), public, dimension(:), pointer :: isccp_totalcldarea => null()
real(kind=wp), public, dimension(:), pointer :: isccp_meantb => null()
real(kind=wp), public, dimension(:), pointer :: isccp_meantbclr => null()
real(kind=wp), public, dimension(:), pointer :: isccp_meanptop => null()
real(kind=wp), public, dimension(:), pointer :: isccp_meantaucld => null()
real(kind=wp), public, dimension(:), pointer :: isccp_meanalbedocld => null()
real(kind=wp), public, dimension(:,:), pointer :: isccp_boxtau => null()
real(kind=wp), public, dimension(:,:), pointer :: isccp_boxptop => null()
real(kind=wp), public, dimension(:,:,:), pointer :: isccp_fq => null()
real(kind=wp), public, dimension(:,:,:), pointer :: misr_fq => null()
real(kind=wp), public, dimension(:,:), pointer :: misr_dist_model_layertops => null()
real(kind=wp), public, dimension(:), pointer :: misr_meanztop => null()
real(kind=wp), public, dimension(:), pointer :: misr_cldarea => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Fraction_Total_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Fraction_Water_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Fraction_Ice_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Fraction_High_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Fraction_Mid_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Fraction_Low_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Optical_Thickness_Total_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Optical_Thickness_Water_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Optical_Thickness_Ice_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Optical_Thickness_Total_LogMean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Optical_Thickness_Water_LogMean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Optical_Thickness_Ice_LogMean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Particle_Size_Water_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Particle_Size_Ice_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Cloud_Top_Pressure_Total_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Liquid_Water_Path_Mean => null()
real(kind=wp), public, pointer, dimension(:) :: modis_Ice_Water_Path_Mean => null()
real(kind=wp), public, pointer, dimension(:,:,:) :: modis_Optical_Thickness_vs_Cloud_Top_Pressure => null()
real(kind=wp), public, pointer, dimension(:,:,:) :: modis_Optical_Thickness_vs_ReffICE => null()
real(kind=wp), public, pointer, dimension(:,:,:) :: modis_Optical_Thickness_vs_ReffLIQ => null()
real(kind=wp), public, pointer :: rttov_tbs(:,:) => null()

Functions

public function COSP_SIMULATOR(cospIN, cospgridIN, cospOUT, start_idx, stop_idx, debug) result(cosp_simulator)

Arguments

Type IntentOptional Attributes Name
type(cosp_optical_inputs), intent(in), target :: cospIN
type(cosp_column_inputs), intent(in), target :: cospgridIN
type(cosp_outputs), intent(inout) :: cospOUT
integer, optional :: start_idx
integer, optional :: stop_idx
logical, optional :: debug

Return Value character(len=256), dimension(100)


Subroutines

public subroutine COSP_INIT(Lisccp, Lmodis, Lmisr, Lcloudsat, Lcalipso, LgrLidar532, Latlid, Lparasol, Lrttov, cloudsat_radar_freq, cloudsat_k2, cloudsat_use_gas_abs, cloudsat_do_ray, isccp_top_height, isccp_top_height_direction, surface_radar, rcfg, lusevgrid, luseCSATvgrid, Nvgrid, Nlevels, cloudsat_micro_scheme)

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: Lisccp
logical, intent(in) :: Lmodis
logical, intent(in) :: Lmisr
logical, intent(in) :: Lcloudsat
logical, intent(in) :: Lcalipso
logical, intent(in) :: LgrLidar532
logical, intent(in) :: Latlid
logical, intent(in) :: Lparasol
logical, intent(in) :: Lrttov
real(kind=wp), intent(in) :: cloudsat_radar_freq
real(kind=wp), intent(in) :: cloudsat_k2
integer, intent(in) :: cloudsat_use_gas_abs
integer, intent(in) :: cloudsat_do_ray
integer, intent(in) :: isccp_top_height
integer, intent(in) :: isccp_top_height_direction
integer, intent(in) :: surface_radar
type(radar_cfg) :: rcfg
logical, intent(in) :: lusevgrid
logical, intent(in) :: luseCSATvgrid
integer, intent(in) :: Nvgrid
integer, intent(in) :: Nlevels
character(len=64), intent(in) :: cloudsat_micro_scheme

public subroutine cosp_cleanUp()

Arguments

None

public subroutine cosp_errorCheck(cospgridIN, cospIN, Lisccp_subcolumn, Lisccp_column, Lmisr_subcolumn, Lmisr_column, Lmodis_subcolumn, Lmodis_column, Lcloudsat_subcolumn, Lcloudsat_column, Lcalipso_subcolumn, Lcalipso_column, Latlid_subcolumn, Latlid_column, LgrLidar532_subcolumn, LgrLidar532_column, Lrttov_subcolumn, Lrttov_column, Lparasol_subcolumn, Lparasol_column, Lradar_lidar_tcc, Llidar_only_freq_cloud, Lcloudsat_tcc, Lcloudsat_tcc2, cospOUT, errorMessage, nError)

Arguments

Type IntentOptional Attributes Name
type(cosp_column_inputs), intent(in) :: cospgridIN
type(cosp_optical_inputs), intent(in) :: cospIN
logical, intent(inout) :: Lisccp_subcolumn
logical, intent(inout) :: Lisccp_column
logical, intent(inout) :: Lmisr_subcolumn
logical, intent(inout) :: Lmisr_column
logical, intent(inout) :: Lmodis_subcolumn
logical, intent(inout) :: Lmodis_column
logical, intent(inout) :: Lcloudsat_subcolumn
logical, intent(inout) :: Lcloudsat_column
logical, intent(inout) :: Lcalipso_subcolumn
logical, intent(inout) :: Lcalipso_column
logical, intent(inout) :: Latlid_subcolumn
logical, intent(inout) :: Latlid_column
logical, intent(inout) :: LgrLidar532_subcolumn
logical, intent(inout) :: LgrLidar532_column
logical, intent(inout) :: Lrttov_subcolumn
logical, intent(inout) :: Lrttov_column
logical, intent(inout) :: Lparasol_subcolumn
logical, intent(inout) :: Lparasol_column
logical, intent(inout) :: Lradar_lidar_tcc
logical, intent(inout) :: Llidar_only_freq_cloud
logical, intent(inout) :: Lcloudsat_tcc
logical, intent(inout) :: Lcloudsat_tcc2
type(cosp_outputs), intent(inout) :: cospOUT
character(len=256), dimension(100) :: errorMessage
integer, intent(out) :: nError