radiation_matrix Module


Uses

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

Used by

  • module~~radiation_matrix~~UsedByGraph module~radiation_matrix radiation_matrix proc~solver_spartacus_sw solver_spartacus_sw proc~solver_spartacus_sw->module~radiation_matrix proc~solver_tripleclouds_sw solver_tripleclouds_sw proc~solver_tripleclouds_sw->module~radiation_matrix proc~solver_tripleclouds_lw solver_tripleclouds_lw proc~solver_tripleclouds_lw->module~radiation_matrix proc~calc_lw_derivatives_region calc_lw_derivatives_region proc~calc_lw_derivatives_region->module~radiation_matrix proc~calc_lw_derivatives_matrix~2 calc_lw_derivatives_matrix proc~calc_lw_derivatives_matrix~2->module~radiation_matrix proc~solver_tripleclouds_sw~2 solver_tripleclouds_sw proc~solver_tripleclouds_sw~2->module~radiation_matrix proc~solver_tripleclouds_lw~2 solver_tripleclouds_lw proc~solver_tripleclouds_lw~2->module~radiation_matrix program~test_spartacus_math test_spartacus_math program~test_spartacus_math->module~radiation_matrix program~test_fast_expm test_fast_expm program~test_fast_expm->module~radiation_matrix proc~solver_spartacus_lw solver_spartacus_lw proc~solver_spartacus_lw->module~radiation_matrix proc~calc_lw_derivatives_matrix calc_lw_derivatives_matrix proc~calc_lw_derivatives_matrix->module~radiation_matrix proc~solver_spartacus_sw~2 solver_spartacus_sw proc~solver_spartacus_sw~2->module~radiation_matrix proc~calc_lw_derivatives_region~2 calc_lw_derivatives_region proc~calc_lw_derivatives_region~2->module~radiation_matrix proc~solver_spartacus_lw~2 solver_spartacus_lw proc~solver_spartacus_lw~2->module~radiation_matrix proc~save_sw_diagnostics save_sw_diagnostics proc~save_sw_diagnostics->module~radiation_matrix

Contents


Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: IMatrixPatternDense = 0
integer, public, parameter :: IMatrixPatternShortwave = 1

Interfaces

public interface fast_expm_exchange

  • public subroutine fast_expm_exchange_2(n, iend, a, b, R)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    integer, intent(in) :: iend
    real(kind=jprb), intent(in), dimension(n) :: a
    real(kind=jprb), intent(in), dimension(n) :: b
    real(kind=jprb), intent(out), dimension(n,2,2) :: R
  • public subroutine fast_expm_exchange_3(n, iend, a, b, c, d, R)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    integer, intent(in) :: iend
    real(kind=jprb), intent(in), dimension(n) :: a
    real(kind=jprb), intent(in), dimension(n) :: b
    real(kind=jprb), intent(in), dimension(n) :: c
    real(kind=jprb), intent(in), dimension(n) :: d
    real(kind=jprb), intent(out), dimension(n,3,3) :: R

Functions

public function mat_x_vec(n, iend, m, A, b, do_top_left_only_in)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in), dimension(:,:,:) :: A
real(kind=jprb), intent(in), dimension(:,:) :: b
logical, intent(in), optional :: do_top_left_only_in

Return Value real(kind=jprb), dimension(iend,m)

public function singlemat_x_vec(n, iend, m, A, b)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in), dimension(m,m) :: A
real(kind=jprb), intent(in), dimension(:,:) :: b

Return Value real(kind=jprb), dimension(iend,m)

public function mat_x_mat(n, iend, m, A, B, i_matrix_pattern)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in), dimension(:,:,:) :: A
real(kind=jprb), intent(in), dimension(:,:,:) :: B
integer, intent(in), optional :: i_matrix_pattern

Return Value real(kind=jprb), dimension(iend,m,m)

public function singlemat_x_mat(n, iend, m, A, B)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in), dimension(m,m) :: A
real(kind=jprb), intent(in), dimension(:,:,:) :: B

Return Value real(kind=jprb), dimension(iend,m,m)

public function mat_x_singlemat(n, iend, m, A, B)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in), dimension(:,:,:) :: A
real(kind=jprb), intent(in), dimension(m,m) :: B

Return Value real(kind=jprb), dimension(iend,m,m)

public function identity_minus_mat_x_mat(n, iend, m, A, B, i_matrix_pattern)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in), dimension(:,:,:) :: A
real(kind=jprb), intent(in), dimension(:,:,:) :: B
integer, intent(in), optional :: i_matrix_pattern

Return Value real(kind=jprb), dimension(iend,m,m)

public function sparse_x_dense(sparse, dense)

Arguments

Type IntentOptional Attributes Name
real(kind=jprb), intent(in) :: sparse(:,:)
real(kind=jprb), intent(in) :: dense(:,:)

Return Value real(kind=jprb), (size(sparse,1),size(dense,2))

public function repeated_square(m, A, nrepeat, i_matrix_pattern)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: m
real(kind=jprb), intent(inout) :: A(m,m)
integer, intent(in) :: nrepeat
integer, intent(in), optional :: i_matrix_pattern

Return Value real(kind=jprb), (m,m)

public function solve_vec(n, iend, m, A, b)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in) :: A(:,:,:)
real(kind=jprb), intent(in) :: b(:,:)

Return Value real(kind=jprb), (iend,m)

public function solve_mat(n, iend, m, A, B)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(in) :: A(:,:,:)
real(kind=jprb), intent(in) :: B(:,:,:)

Return Value real(kind=jprb), (iend,m,m)


Subroutines

public subroutine expm(n, iend, m, A, i_matrix_pattern)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
integer, intent(in) :: m
real(kind=jprb), intent(inout) :: A(n,m,m)
integer, intent(in) :: i_matrix_pattern

public subroutine fast_expm_exchange_2(n, iend, a, b, R)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
real(kind=jprb), intent(in), dimension(n) :: a
real(kind=jprb), intent(in), dimension(n) :: b
real(kind=jprb), intent(out), dimension(n,2,2) :: R

public subroutine fast_expm_exchange_3(n, iend, a, b, c, d, R)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n
integer, intent(in) :: iend
real(kind=jprb), intent(in), dimension(n) :: a
real(kind=jprb), intent(in), dimension(n) :: b
real(kind=jprb), intent(in), dimension(n) :: c
real(kind=jprb), intent(in), dimension(n) :: d
real(kind=jprb), intent(out), dimension(n,3,3) :: R