radiation_two_stream Module


Uses

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

Used by

  • module~~radiation_two_stream~2~~UsedByGraph module~radiation_two_stream~2 radiation_two_stream proc~solver_spartacus_sw solver_spartacus_sw proc~solver_spartacus_sw->module~radiation_two_stream~2 proc~solver_homogeneous_sw solver_homogeneous_sw proc~solver_homogeneous_sw->module~radiation_two_stream~2 proc~solver_mcica_sw solver_mcica_sw proc~solver_mcica_sw->module~radiation_two_stream~2 proc~solver_homogeneous_lw~2 solver_homogeneous_lw proc~solver_homogeneous_lw~2->module~radiation_two_stream~2 proc~solver_tripleclouds_sw~2 solver_tripleclouds_sw proc~solver_tripleclouds_sw~2->module~radiation_two_stream~2 proc~solver_spartacus_lw solver_spartacus_lw proc~solver_spartacus_lw->module~radiation_two_stream~2 proc~solver_spartacus_lw~2 solver_spartacus_lw proc~solver_spartacus_lw~2->module~radiation_two_stream~2 proc~solver_cloudless_sw solver_cloudless_sw proc~solver_cloudless_sw->module~radiation_two_stream~2 proc~solver_cloudless_lw~2 solver_cloudless_lw proc~solver_cloudless_lw~2->module~radiation_two_stream~2 proc~solver_mcica_lw solver_mcica_lw proc~solver_mcica_lw->module~radiation_two_stream~2 proc~solver_tripleclouds_lw~2 solver_tripleclouds_lw proc~solver_tripleclouds_lw~2->module~radiation_two_stream~2 proc~solver_mcica_sw~2 solver_mcica_sw proc~solver_mcica_sw~2->module~radiation_two_stream~2 proc~solver_cloudless_sw~2 solver_cloudless_sw proc~solver_cloudless_sw~2->module~radiation_two_stream~2 proc~solver_homogeneous_lw solver_homogeneous_lw proc~solver_homogeneous_lw->module~radiation_two_stream~2 proc~solver_cloudless_lw solver_cloudless_lw proc~solver_cloudless_lw->module~radiation_two_stream~2 proc~solver_tripleclouds_sw solver_tripleclouds_sw proc~solver_tripleclouds_sw->module~radiation_two_stream~2 proc~solver_homogeneous_sw~2 solver_homogeneous_sw proc~solver_homogeneous_sw~2->module~radiation_two_stream~2 proc~solver_mcica_lw~2 solver_mcica_lw proc~solver_mcica_lw~2->module~radiation_two_stream~2 proc~solver_spartacus_sw~2 solver_spartacus_sw proc~solver_spartacus_sw~2->module~radiation_two_stream~2 proc~solver_tripleclouds_lw solver_tripleclouds_lw proc~solver_tripleclouds_lw->module~radiation_two_stream~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

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_ref_trans_lw(ng, od, ssa, asymmetry, 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) :: ssa
real(kind=jprb), intent(in), dimension(ng) :: asymmetry
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_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_ref_trans_sw(ng, mu0, od, ssa, asymmetry, 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) :: asymmetry
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