radiation_two_stream Module


Uses

  • module~~radiation_two_stream~~UsesGraph module~radiation_two_stream radiation_two_stream module~parkind1~2 PARKIND1 module~radiation_two_stream->module~parkind1~2

Contents


Variables

Type Visibility Attributes Name Initial
real(kind=jprd), public, parameter :: LwDiffusivity = 1.66_jprd
real(kind=jprb), public, parameter :: LwDiffusivityWP = 1.66_jprb
real(kind=jprb), public, parameter :: SwDiffusivity = 2.00_jprb

Subroutines

public subroutine calc_two_stream_gammas_lw(ng, ssa, g, gamma1, gamma2)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in), dimension(:) :: ssa
real(kind=jprb), intent(in), dimension(:) :: g
real(kind=jprb), intent(out), dimension(:) :: gamma1
real(kind=jprb), intent(out), dimension(:) :: gamma2

public subroutine calc_two_stream_gammas_sw(ng, mu0, ssa, g, gamma1, gamma2, gamma3)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in) :: mu0
real(kind=jprb), intent(in), dimension(:) :: ssa
real(kind=jprb), intent(in), dimension(:) :: g
real(kind=jprb), intent(out), dimension(:) :: gamma1
real(kind=jprb), intent(out), dimension(:) :: gamma2
real(kind=jprb), intent(out), dimension(:) :: gamma3

public subroutine calc_reflectance_transmittance_lw(ng, od, gamma1, gamma2, planck_top, planck_bot, reflectance, transmittance, source_up, source_dn)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in), dimension(ng) :: od
real(kind=jprb), intent(in), dimension(ng) :: gamma1
real(kind=jprb), intent(in), dimension(ng) :: gamma2
real(kind=jprb), intent(in), dimension(ng) :: planck_top
real(kind=jprb), intent(in), dimension(ng) :: planck_bot
real(kind=jprb), intent(out), dimension(ng) :: reflectance
real(kind=jprb), intent(out), dimension(ng) :: transmittance
real(kind=jprb), intent(out), dimension(ng) :: source_up
real(kind=jprb), intent(out), dimension(ng) :: source_dn

public subroutine calc_reflectance_transmittance_isothermal_lw(ng, od, gamma1, gamma2, planck, reflectance, transmittance, source)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in), dimension(ng) :: od
real(kind=jprb), intent(in), dimension(ng) :: gamma1
real(kind=jprb), intent(in), dimension(ng) :: gamma2
real(kind=jprb), intent(in), dimension(ng) :: planck
real(kind=jprb), intent(out), dimension(ng) :: reflectance
real(kind=jprb), intent(out), dimension(ng) :: transmittance
real(kind=jprb), intent(out), dimension(ng) :: source

public subroutine calc_no_scattering_transmittance_lw(ng, od, planck_top, planck_bot, transmittance, source_up, source_dn)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in), dimension(ng) :: od
real(kind=jprb), intent(in), dimension(ng) :: planck_top
real(kind=jprb), intent(in), dimension(ng) :: planck_bot
real(kind=jprb), intent(out), dimension(ng) :: transmittance
real(kind=jprb), intent(out), dimension(ng) :: source_up
real(kind=jprb), intent(out), dimension(ng) :: source_dn

public subroutine calc_reflectance_transmittance_sw(ng, mu0, od, ssa, gamma1, gamma2, gamma3, ref_diff, trans_diff, ref_dir, trans_dir_diff, trans_dir_dir)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in) :: mu0
real(kind=jprb), intent(in), dimension(ng) :: od
real(kind=jprb), intent(in), dimension(ng) :: ssa
real(kind=jprb), intent(in), dimension(ng) :: gamma1
real(kind=jprb), intent(in), dimension(ng) :: gamma2
real(kind=jprb), intent(in), dimension(ng) :: gamma3
real(kind=jprb), intent(out), dimension(ng) :: ref_diff
real(kind=jprb), intent(out), dimension(ng) :: trans_diff
real(kind=jprb), intent(out), dimension(ng) :: ref_dir
real(kind=jprb), intent(out), dimension(ng) :: trans_dir_diff
real(kind=jprb), intent(out), dimension(ng) :: trans_dir_dir

public subroutine calc_reflectance_transmittance_z_sw(ng, mu0, depth, gamma0, gamma1, gamma2, gamma3, gamma4, ref_diff, trans_diff, ref_dir, trans_dir_diff, trans_dir_dir)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in) :: mu0
real(kind=jprb), intent(in) :: depth
real(kind=jprb), intent(in), dimension(ng) :: gamma0
real(kind=jprb), intent(in), dimension(ng) :: gamma1
real(kind=jprb), intent(in), dimension(ng) :: gamma2
real(kind=jprb), intent(in), dimension(ng) :: gamma3
real(kind=jprb), intent(in), dimension(ng) :: gamma4
real(kind=jprb), intent(out), dimension(ng) :: ref_diff
real(kind=jprb), intent(out), dimension(ng) :: trans_diff
real(kind=jprb), intent(out), dimension(ng) :: ref_dir
real(kind=jprb), intent(out), dimension(ng) :: trans_dir_diff
real(kind=jprb), intent(out), dimension(ng) :: trans_dir_dir

public subroutine calc_frac_scattered_diffuse_sw(ng, od, gamma1, gamma2, frac_scat_diffuse)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ng
real(kind=jprb), intent(in), dimension(ng) :: od
real(kind=jprb), intent(in), dimension(ng) :: gamma1
real(kind=jprb), intent(in), dimension(ng) :: gamma2
real(kind=jprb), intent(out), dimension(ng) :: frac_scat_diffuse