mod_modis_sim Module


Uses

  • module~~mod_modis_sim~4~~UsesGraph module~mod_modis_sim~4 mod_modis_sim module~mod_cosp_stats~2 MOD_COSP_STATS module~mod_modis_sim~4->module~mod_cosp_stats~2 module~mod_cosp_config~2 MOD_COSP_CONFIG module~mod_modis_sim~4->module~mod_cosp_config~2 module~cosp_kinds cosp_kinds module~mod_modis_sim~4->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
integer, public, parameter :: num_trial_res = 15
real(kind=wp), public :: min_OpticalThickness
real(kind=wp), public :: CO2Slicing_PressureLimit
real(kind=wp), public :: CO2Slicing_TauLimit
real(kind=wp), public :: phase_TauLimit
real(kind=wp), public :: size_TauLimit
real(kind=wp), public :: phaseDiscrimination_Threshold
real(kind=wp), public :: re_fill
real(kind=wp), public :: re_water_min
real(kind=wp), public :: re_water_max
real(kind=wp), public :: re_ice_min
real(kind=wp), public :: re_ice_max
real(kind=wp), public :: highCloudPressureLimit
real(kind=wp), public :: lowCloudPressureLimit
integer, public :: phaseIsNone
integer, public :: phaseIsLiquid
integer, public :: phaseIsIce
integer, public :: phaseIsUndetermined
real(kind=wp), public, dimension(num_trial_res) :: trial_re_w
real(kind=wp), public, dimension(num_trial_res) :: trial_re_i
real(kind=wp), public, dimension(num_trial_res) :: g_w
real(kind=wp), public, dimension(num_trial_res) :: g_i
real(kind=wp), public, dimension(num_trial_res) :: w0_w
real(kind=wp), public, dimension(num_trial_res) :: w0_i
real(kind=wp), public, parameter :: ice_density = 0.93_wp

Functions

public function cloud_top_pressure(nLevels, tauIncrement, pressure, tauLimit)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nLevels
real(kind=wp), intent(in), dimension(nLevels) :: tauIncrement
real(kind=wp), intent(in), dimension(nLevels) :: pressure
real(kind=wp), intent(in) :: tauLimit

Return Value real(kind=wp)

public function weight_by_extinction(nLevels, tauIncrement, f, tauLimit)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nLevels
real(kind=wp), intent(in), dimension(nLevels) :: tauIncrement
real(kind=wp), intent(in), dimension(nLevels) :: f
real(kind=wp), intent(in) :: tauLimit

Return Value real(kind=wp)

publicpure function interpolate_to_min(x, y, yobs)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(num_trial_res) :: x
real(kind=wp), intent(in), dimension(num_trial_res) :: y
real(kind=wp), intent(in) :: yobs

Return Value real(kind=wp)

publicelemental function get_g_nir_old(phase, re)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: phase
real(kind=wp), intent(in) :: re

Return Value real(kind=wp)

publicelemental function get_ssa_nir_old(phase, re)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: phase
real(kind=wp), intent(in) :: re

Return Value real(kind=wp)

publicelemental function get_g_nir(phase, re)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: phase
real(kind=wp), intent(in) :: re

Return Value real(kind=wp)

publicelemental function get_ssa_nir(phase, re)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: phase
real(kind=wp), intent(in) :: re

Return Value real(kind=wp)

publicpure function fit_to_cubic(x, coefficients)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in), dimension(4) :: coefficients

Return Value real(kind=wp)

publicpure function fit_to_quadratic(x, coefficients)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: x
real(kind=wp), intent(in), dimension(3) :: coefficients

Return Value real(kind=wp)

publicpure function compute_toa_reflectace(nLevels, tau, g, w0)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nLevels
real(kind=wp), intent(in), dimension(nLevels) :: tau
real(kind=wp), intent(in), dimension(nLevels) :: g
real(kind=wp), intent(in), dimension(nLevels) :: w0

Return Value real(kind=wp)

publicelemental function two_stream_reflectance(tauint, gint, w0int)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: tauint
real(kind=wp), intent(in) :: gint
real(kind=wp), intent(in) :: w0int

Return Value real(kind=wp)


Subroutines

public subroutine modis_subcolumn(nSubCols, nLevels, pressureLevels, optical_thickness, tauLiquidFraction, g, w0, isccpCloudTopPressure, retrievedPhase, retrievedCloudTopPressure, retrievedTau, retrievedSize)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nSubCols
integer, intent(in) :: nLevels
real(kind=wp), intent(in), dimension(nLevels+1) :: pressureLevels
real(kind=wp), intent(in), dimension(nSubCols,nLevels) :: optical_thickness
real(kind=wp), intent(in), dimension(nSubCols,nLevels) :: tauLiquidFraction
real(kind=wp), intent(in), dimension(nSubCols,nLevels) :: g
real(kind=wp), intent(in), dimension(nSubCols,nLevels) :: w0
real(kind=wp), intent(in), dimension(nSubCols) :: isccpCloudTopPressure
integer, intent(inout), dimension(nSubCols) :: retrievedPhase
real(kind=wp), intent(inout), dimension(nSubCols) :: retrievedCloudTopPressure
real(kind=wp), intent(inout), dimension(nSubCols) :: retrievedTau
real(kind=wp), intent(inout), dimension(nSubCols) :: retrievedSize

public subroutine modis_column(nPoints, nSubCols, phase, cloud_top_pressure, optical_thickness, particle_size, Cloud_Fraction_Total_Mean, Cloud_Fraction_Water_Mean, Cloud_Fraction_Ice_Mean, Cloud_Fraction_High_Mean, Cloud_Fraction_Mid_Mean, Cloud_Fraction_Low_Mean, Optical_Thickness_Total_Mean, Optical_Thickness_Water_Mean, Optical_Thickness_Ice_Mean, Optical_Thickness_Total_MeanLog10, Optical_Thickness_Water_MeanLog10, Optical_Thickness_Ice_MeanLog10, Cloud_Particle_Size_Water_Mean, Cloud_Particle_Size_Ice_Mean, Cloud_Top_Pressure_Total_Mean, Liquid_Water_Path_Mean, Ice_Water_Path_Mean, Optical_Thickness_vs_Cloud_Top_Pressure, Optical_Thickness_vs_ReffIce, Optical_Thickness_vs_ReffLiq)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nPoints
integer, intent(in) :: nSubCols
integer, intent(in), dimension(nPoints, nSubCols) :: phase
real(kind=wp), intent(in), dimension(nPoints, nSubCols) :: cloud_top_pressure
real(kind=wp), intent(in), dimension(nPoints, nSubCols) :: optical_thickness
real(kind=wp), intent(in), dimension(nPoints, nSubCols) :: particle_size
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Fraction_Total_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Fraction_Water_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Fraction_Ice_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Fraction_High_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Fraction_Mid_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Fraction_Low_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Optical_Thickness_Total_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Optical_Thickness_Water_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Optical_Thickness_Ice_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Optical_Thickness_Total_MeanLog10
real(kind=wp), intent(inout), dimension(nPoints) :: Optical_Thickness_Water_MeanLog10
real(kind=wp), intent(inout), dimension(nPoints) :: Optical_Thickness_Ice_MeanLog10
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Particle_Size_Water_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Particle_Size_Ice_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Cloud_Top_Pressure_Total_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Liquid_Water_Path_Mean
real(kind=wp), intent(inout), dimension(nPoints) :: Ice_Water_Path_Mean
real(kind=wp), intent(inout), dimension(nPoints,numMODISTauBins,numMODISPresBins) :: Optical_Thickness_vs_Cloud_Top_Pressure
real(kind=wp), intent(inout), dimension(nPoints,numMODISTauBins,numMODISReffIceBins) :: Optical_Thickness_vs_ReffIce
real(kind=wp), intent(inout), dimension(nPoints,numMODISTauBins,numMODISReffLiqBins) :: Optical_Thickness_vs_ReffLiq

publicpure subroutine two_stream(tauint, gint, w0int, ref, tra)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: tauint
real(kind=wp), intent(in) :: gint
real(kind=wp), intent(in) :: w0int
real(kind=wp), intent(out) :: ref
real(kind=wp), intent(out) :: tra

publicpure subroutine adding_doubling(npts, Refl, Tran, Refl_tot, Tran_tot)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: npts
real(kind=wp), intent(in), dimension(npts) :: Refl
real(kind=wp), intent(in), dimension(npts) :: Tran
real(kind=wp), intent(out) :: Refl_tot
real(kind=wp), intent(out) :: Tran_tot