LMDZ_COSP_SUBSAMPLE_AND_OPTICS_MOD Module


Uses

  • module~~lmdz_cosp_subsample_and_optics_mod~~UsesGraph module~lmdz_cosp_subsample_and_optics_mod LMDZ_COSP_SUBSAMPLE_AND_OPTICS_MOD module~mod_prec_scops mod_prec_scops module~lmdz_cosp_subsample_and_optics_mod->module~mod_prec_scops module~mod_quickbeam_optics~2 mod_quickbeam_optics module~lmdz_cosp_subsample_and_optics_mod->module~mod_quickbeam_optics~2 module~cosp_optics cosp_optics module~lmdz_cosp_subsample_and_optics_mod->module~cosp_optics module~mod_rng~2 mod_rng module~lmdz_cosp_subsample_and_optics_mod->module~mod_rng~2 module~mod_cosp MOD_COSP module~lmdz_cosp_subsample_and_optics_mod->module~mod_cosp module~mod_cosp_utils MOD_COSP_UTILS module~lmdz_cosp_subsample_and_optics_mod->module~mod_cosp_utils module~mod_scops~2 mod_scops module~lmdz_cosp_subsample_and_optics_mod->module~mod_scops~2 module~mod_cosp_config~2 MOD_COSP_CONFIG module~lmdz_cosp_subsample_and_optics_mod->module~mod_cosp_config~2 module~cosp_kinds cosp_kinds module~lmdz_cosp_subsample_and_optics_mod->module~cosp_kinds module~mod_cosp_stats~2 MOD_COSP_STATS module~lmdz_cosp_subsample_and_optics_mod->module~mod_cosp_stats~2 module~quickbeam quickbeam module~lmdz_cosp_subsample_and_optics_mod->module~quickbeam module~lmdz_cosp_read_outputkeys~2 lmdz_cosp_read_outputkeys module~lmdz_cosp_subsample_and_optics_mod->module~lmdz_cosp_read_outputkeys~2 module~mod_quickbeam_optics~2->module~mod_cosp_config~2 module~mod_quickbeam_optics~2->module~cosp_kinds module~mod_quickbeam_optics~2->module~quickbeam module~array_lib array_lib module~mod_quickbeam_optics~2->module~array_lib module~cosp_math_constants cosp_math_constants module~mod_quickbeam_optics~2->module~cosp_math_constants module~mod_cosp_error mod_cosp_error module~mod_quickbeam_optics~2->module~mod_cosp_error module~cosp_phys_constants cosp_phys_constants module~mod_quickbeam_optics~2->module~cosp_phys_constants module~optics_lib optics_lib module~mod_quickbeam_optics~2->module~optics_lib module~math_lib~4 math_lib module~mod_quickbeam_optics~2->module~math_lib~4 module~cosp_optics->module~cosp_kinds module~cosp_optics->module~cosp_math_constants module~cosp_optics->module~cosp_phys_constants module~mod_modis_sim mod_modis_sim module~cosp_optics->module~mod_modis_sim module~mod_rng~2->module~cosp_kinds module~mod_cosp->module~mod_cosp_config~2 module~mod_cosp->module~cosp_kinds module~mod_cosp->module~mod_cosp_stats~2 module~mod_cosp->module~quickbeam module~mod_lidar_simulator~2 mod_lidar_simulator module~mod_cosp->module~mod_lidar_simulator~2 module~mod_cosp_calipso_interface MOD_COSP_CALIPSO_INTERFACE module~mod_cosp->module~mod_cosp_calipso_interface module~mod_cosp_atlid_interface~2 MOD_COSP_ATLID_INTERFACE module~mod_cosp->module~mod_cosp_atlid_interface~2 module~mod_cosp_parasol_interface MOD_COSP_PARASOL_INTERFACE module~mod_cosp->module~mod_cosp_parasol_interface module~mod_parasol mod_parasol module~mod_cosp->module~mod_parasol module~mod_cosp_grlidar532_interface~2 MOD_COSP_GRLIDAR532_INTERFACE module~mod_cosp->module~mod_cosp_grlidar532_interface~2 module~mod_cosp_modis_interface~2 MOD_COSP_Modis_INTERFACE module~mod_cosp->module~mod_cosp_modis_interface~2 module~mod_misr_simulator~2 MOD_MISR_SIMULATOR module~mod_cosp->module~mod_misr_simulator~2 module~mod_cosp_misr_interface~2 MOD_COSP_MISR_INTERFACE module~mod_cosp->module~mod_cosp_misr_interface~2 module~mod_cosp_cloudsat_interface MOD_COSP_CLOUDSAT_INTERFACE module~mod_cosp->module~mod_cosp_cloudsat_interface module~mod_cosp->module~mod_modis_sim module~mod_cosp_isccp_interface MOD_COSP_ISCCP_INTERFACE module~mod_cosp->module~mod_cosp_isccp_interface module~mod_icarus~2 MOD_ICARUS module~mod_cosp->module~mod_icarus~2 module~mod_cosp_constants~2 MOD_COSP_CONSTANTS module~mod_cosp_utils->module~mod_cosp_constants~2 module~mod_scops~2->module~mod_rng~2 module~mod_scops~2->module~cosp_kinds module~mod_scops~2->module~mod_cosp_error module~mod_cosp_config~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_phys_lmdz_para mod_phys_lmdz_para module~lmdz_cosp_read_outputkeys~2->module~mod_phys_lmdz_para 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_calipso_interface->module~cosp_kinds module~mod_cosp_calipso_interface->module~mod_lidar_simulator~2 module~mod_cosp_atlid_interface~2->module~cosp_kinds module~cosp_math_constants->module~cosp_kinds module~mod_cosp_error->module~cosp_kinds module~mod_cosp_parasol_interface->module~cosp_kinds module~mod_parasol->module~mod_cosp_config~2 module~mod_parasol->module~cosp_kinds module~mod_parasol->module~cosp_math_constants module~mod_phys_lmdz_transfert_para mod_phys_lmdz_transfert_para module~mod_phys_lmdz_para->module~mod_phys_lmdz_transfert_para module~mod_phys_lmdz_omp_data mod_phys_lmdz_omp_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_omp_data module~mod_phys_lmdz_mpi_data mod_phys_lmdz_mpi_data module~mod_phys_lmdz_para->module~mod_phys_lmdz_mpi_data module~cosp_phys_constants->module~cosp_kinds module~mod_cosp_grlidar532_interface~2->module~cosp_kinds module~mod_cosp_modis_interface~2->module~mod_cosp_config~2 module~mod_cosp_modis_interface~2->module~cosp_kinds module~mod_cosp_modis_interface~2->module~mod_modis_sim 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_cosp_misr_interface~2->module~cosp_kinds module~optics_lib->module~cosp_kinds module~optics_lib->module~mod_cosp_error module~mod_cosp_cloudsat_interface->module~cosp_kinds module~mod_cosp_cloudsat_interface->module~quickbeam module~mod_cosp_types~2 MOD_COSP_TYPES module~mod_modis_sim->module~mod_cosp_types~2 module~mod_cosp_isccp_interface->module~cosp_kinds module~mod_cosp_isccp_interface->module~mod_icarus~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~mod_icarus~2->module~cosp_phys_constants module~mod_phys_lmdz_mpi_transfert mod_phys_lmdz_mpi_transfert module~mod_phys_lmdz_transfert_para->module~mod_phys_lmdz_mpi_transfert module~mod_phys_lmdz_omp_transfert mod_phys_lmdz_omp_transfert module~mod_phys_lmdz_transfert_para->module~mod_phys_lmdz_omp_transfert module~mod_cosp_types~2->module~mod_cosp_utils module~mod_cosp_types~2->module~mod_cosp_constants~2 module~radar_simulator_types radar_simulator_types module~mod_cosp_types~2->module~radar_simulator_types module~lmdz_mpi lmdz_mpi module~mod_phys_lmdz_mpi_data->module~lmdz_mpi module~lmdz_cppkeys_wrapper lmdz_cppkeys_wrapper module~mod_phys_lmdz_mpi_data->module~lmdz_cppkeys_wrapper iso_fortran_env iso_fortran_env module~lmdz_cppkeys_wrapper->iso_fortran_env netcdf netcdf module~lmdz_cppkeys_wrapper->netcdf

Contents


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: I_LSCLIQ = 1
integer, public, parameter :: I_LSCICE = 2
integer, public, parameter :: I_LSRAIN = 3
integer, public, parameter :: I_LSSNOW = 4
integer, public, parameter :: I_CVCLIQ = 5
integer, public, parameter :: I_CVCICE = 6
integer, public, parameter :: I_CVRAIN = 7
integer, public, parameter :: I_CVSNOW = 8
integer, public, parameter :: I_LSGRPL = 9
integer, public, parameter :: I_LSC = 1
integer, public, parameter :: I_CVC = 2
real(kind=wp), public, parameter, dimension(N_HYDRO) :: N_ax = (/-1., -1., 8.e6, 3.e6, -1., -1., 8.e6, 3.e6, 4.e6/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: N_bx = (/-1., -1., 0.0, 0.0, -1., -1., 0.0, 0.0, 0.0/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: alpha_x = (/-1., -1., 0.0, 0.0, -1., -1., 0.0, 0.0, 0.0/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: c_x = (/-1., -1., 842.0, 4.84, -1., -1., 842.0, 4.84, 94.5/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: d_x = (/-1., -1., 0.8, 0.25, -1., -1., 0.8, 0.25, 0.5/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: g_x = (/-1., -1., 0.5, 0.5, -1., -1., 0.5, 0.5, 0.5/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: a_x = (/-1., -1., 524.0, 52.36, -1., -1., 524.0, 52.36, 209.44/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: b_x = (/-1., -1., 3.0, 3.0, -1., -1., 3.0, 3.0, 3.0/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: gamma_1 = (/-1., -1., 17.83725, 8.284701, -1., -1., 17.83725, 8.284701, 11.63230/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: gamma_2 = (/-1., -1., 6.0, 6.0, -1., -1., 6.0, 6.0, 6.0/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: gamma_3 = (/-1., -1., 2.0, 2.0, -1., -1., 2.0, 2.0, 2.0/)
real(kind=wp), public, parameter, dimension(N_HYDRO) :: gamma_4 = (/-1., -1., 6.0, 6.0, -1., -1., 6.0, 6.0, 6.0/)

Subroutines

public subroutine subsample_and_optics(cfg, nPoints, nLevels, nColumns, nHydro, overlap, use_precipitation_fluxes, lidar_ice_type, sd, tca, cca, fl_lsrainIN, fl_lssnowIN, fl_lsgrplIN, fl_ccrainIN, fl_ccsnowIN, mr_lsliq, mr_lsice, mr_ccliq, mr_ccice, reffIN, dtau_c, dtau_s, dem_c, dem_s, cospstateIN, cospIN)

Arguments

Type IntentOptional Attributes Name
type(COSP_CONFIG), intent(in) :: cfg
integer, intent(in) :: nPoints
integer, intent(in) :: nLevels
integer, intent(in) :: nColumns
integer, intent(in) :: nHydro
integer, intent(in) :: overlap
logical, intent(in) :: use_precipitation_fluxes
integer, intent(in) :: lidar_ice_type
type(size_distribution), intent(inout) :: sd
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: tca
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: cca
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: fl_lsrainIN
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: fl_lssnowIN
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: fl_lsgrplIN
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: fl_ccrainIN
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: fl_ccsnowIN
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: mr_lsliq
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: mr_lsice
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: mr_ccliq
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: mr_ccice
real(kind=wp), intent(in), dimension(nPoints,nLevels,nHydro) :: reffIN
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: dtau_c
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: dtau_s
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: dem_c
real(kind=wp), intent(in), dimension(nPoints,nLevels) :: dem_s
type(cosp_column_inputs), intent(inout) :: cospstateIN
type(cosp_optical_inputs), intent(inout) :: cospIN