sli_utils Module


Uses

  • module~~sli_utils~~UsesGraph module~sli_utils sli_utils module~cable_def_types_mod cable_def_types_mod module~sli_utils->module~cable_def_types_mod module~sli_numbers sli_numbers module~sli_utils->module~sli_numbers module~cable_climate_type_mod cable_climate_type_mod module~cable_def_types_mod->module~cable_climate_type_mod module~sli_numbers->module~cable_def_types_mod

Used by

  • module~~sli_utils~~UsedByGraph module~sli_utils sli_utils module~sli_solve sli_solve module~sli_solve->module~sli_utils proc~sli_main sli_main proc~sli_main->module~sli_utils proc~sli_main->module~sli_solve

Variables

Type Visibility Attributes Name Initial
real(kind=r_2), public, DIMENSION(:,:), ALLOCATABLE :: dx
real(kind=r_2), public, DIMENSION(:), ALLOCATABLE :: dxL
type(params), public, DIMENSION(:,:), ALLOCATABLE :: par
type(params), public, DIMENSION(:), ALLOCATABLE :: plit
type(solve_type), public, DIMENSION(:), ALLOCATABLE :: sol
real(kind=r_2), public, DIMENSION(:,:), ALLOCATABLE :: x
real(kind=r_2), public, DIMENSION(:), ALLOCATABLE :: bd
real(kind=r_2), public, DIMENSION(:), ALLOCATABLE :: dis
type(rapointer), public, DIMENSION(:,:), ALLOCATABLE :: isopar
character(len=2), public, DIMENSION(:,:), ALLOCATABLE :: isotype

Interfaces

public interface generic_thomas

  • private subroutine generic_thomas_1d(n, A, B, C, r, u, err)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i_d), intent(in) :: n
    real(kind=r_2), intent(in), DIMENSION(1:n,1:2,1:2) :: A
    real(kind=r_2), intent(in), DIMENSION(1:n,1:2,1:2) :: B
    real(kind=r_2), intent(in), DIMENSION(1:n,1:2,1:2) :: C
    real(kind=r_2), intent(in), DIMENSION(1:n,1:2) :: r
    real(kind=r_2), intent(out), DIMENSION(1:n,1:2) :: u
    integer(kind=i_d), intent(out), optional :: err
  • private subroutine generic_thomas_2d(mp, n, A, B, C, r, u, err)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i_d), intent(in) :: mp
    integer(kind=i_d), intent(in) :: n
    real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2,1:2) :: A
    real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2,1:2) :: B
    real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2,1:2) :: C
    real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2) :: r
    real(kind=r_2), intent(out), DIMENSION(1:mp,1:n,1:2) :: u
    integer(kind=i_d), intent(out), optional :: err

public interface getfluxes_vp

  • private subroutine getfluxes_vp_1d(n, dx, vtop, vbot, parin, var, hint, phimin, q, qya, qyb, qTa, qTb, ql, qlya, qlyb, qv, qvT, qvh, qvya, qvyb, iflux, init, getq0, getqn, Tsoil, T0, nsat, nsatlast)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i_d), intent(in) :: n
    real(kind=r_2), intent(in), DIMENSION(1:n) :: dx
    type(vars), intent(in) :: vtop
    type(vars), intent(in) :: vbot
    type(params), intent(in), DIMENSION(1:n) :: parin
    type(vars), intent(inout), DIMENSION(1:n) :: var
    real(kind=r_2), intent(inout), DIMENSION(1:n) :: hint
    real(kind=r_2), intent(inout), DIMENSION(1:n) :: phimin
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: q
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qya
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qyb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTa
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: ql
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qlya
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qlyb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qv
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvT
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvh
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvya
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvyb
    integer(kind=i_d), intent(in) :: iflux
    logical, intent(in) :: init
    logical, intent(in) :: getq0
    logical, intent(in) :: getqn
    real(kind=r_2), intent(in), DIMENSION(1:n) :: Tsoil
    real(kind=r_2), intent(in) :: T0
    integer(kind=i_d), intent(in) :: nsat
    integer(kind=i_d), intent(in) :: nsatlast
  • private subroutine getfluxes_vp_2d(dx, vtop, vbot, parin, var, hint, phimin, i_q, i_qya, i_qyb, i_qTa, i_qTb, i_ql, i_qlya, i_qlyb, i_qv, i_qvT, i_qvh, i_qvya, i_qvyb, iflux, init, getq0, getqn, Tsoil, T0, nsat, nsatlast)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:,:) :: dx
    type(vars), intent(in), DIMENSION(:) :: vtop
    type(vars), intent(in), DIMENSION(:) :: vbot
    type(params), intent(in), DIMENSION(:,:) :: parin
    type(vars), intent(in), DIMENSION(:,:) :: var
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: hint
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: phimin
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_q
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qya
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qyb
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTa
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTb
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_ql
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qlya
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qlyb
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qv
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvT
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvh
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvya
    real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvyb
    integer(kind=i_d), intent(in), DIMENSION(:) :: iflux
    logical, intent(in), DIMENSION(:) :: init
    logical, intent(in), DIMENSION(:) :: getq0
    logical, intent(in), DIMENSION(:) :: getqn
    real(kind=r_2), intent(in), DIMENSION(:,:) :: Tsoil
    real(kind=r_2), intent(in), DIMENSION(:) :: T0
    integer(kind=i_d), intent(in), DIMENSION(:) :: nsat
    integer(kind=i_d), intent(in), DIMENSION(:) :: nsatlast

public interface getheatfluxes

  • private subroutine getheatfluxes_1d(n, dx, dxL, qh, qhya, qhyb, qhTa, qhTb, var, vlit, T, TL, litter, q, qya, qyb, qTa, qTb, qadv, qadvya, qadvyb, qadvTa, qadvTb, advection)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i_d), intent(in) :: n
    real(kind=r_2), intent(in), DIMENSION(1:n) :: dx
    real(kind=r_2), intent(in) :: dxL
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qh
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhya
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhyb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhTa
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhTb
    type(vars), intent(in), DIMENSION(1:n) :: var
    type(vars), intent(in) :: vlit
    real(kind=r_2), intent(in), DIMENSION(1:n) :: T
    real(kind=r_2), intent(in) :: TL
    logical, intent(in) :: litter
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: q
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qya
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qyb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTa
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadv
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvya
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvyb
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvTa
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvTb
    integer(kind=i_d), intent(in) :: advection
  • private subroutine getheatfluxes_2d(dx, dxL, i_qh, i_qhya, i_qhyb, i_qhTa, i_qhTb, var, vlit, T, TL, litter, i_q, i_qya, i_qyb, i_qTa, i_qTb, i_qadv, i_qadvya, i_qadvyb, i_qadvTa, i_qadvTb, advection)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:,:) :: dx
    real(kind=r_2), intent(in), DIMENSION(:) :: dxL
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qh
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhya
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhyb
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhTa
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhTb
    type(vars), intent(in), DIMENSION(:,:) :: var
    type(vars), intent(in), DIMENSION(:) :: vlit
    real(kind=r_2), intent(in), DIMENSION(:,:) :: T
    real(kind=r_2), intent(in), DIMENSION(:) :: TL
    logical, intent(in) :: litter
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_q
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qya
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qyb
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTa
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTb
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadv
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvya
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvyb
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvTa
    real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvTb
    integer(kind=i_d), intent(in) :: advection

public interface massman_sparse

  • private subroutine massman_sparse_1d(aa, aah, bb, bbh, cc, cch, dd, ddh, ee, eeh, ff, ffh, gg, ggh, dy, dT, condition, err)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:) :: aa
    real(kind=r_2), intent(in), DIMENSION(:) :: aah
    real(kind=r_2), intent(in), DIMENSION(:) :: bb
    real(kind=r_2), intent(in), DIMENSION(:) :: bbh
    real(kind=r_2), intent(in), DIMENSION(:) :: cc
    real(kind=r_2), intent(in), DIMENSION(:) :: cch
    real(kind=r_2), intent(in), DIMENSION(:) :: dd
    real(kind=r_2), intent(in), DIMENSION(:) :: ddh
    real(kind=r_2), intent(in), DIMENSION(:) :: ee
    real(kind=r_2), intent(in), DIMENSION(:) :: eeh
    real(kind=r_2), intent(in), DIMENSION(:) :: ff
    real(kind=r_2), intent(in), DIMENSION(:) :: ffh
    real(kind=r_2), intent(in), DIMENSION(:) :: gg
    real(kind=r_2), intent(in), DIMENSION(:) :: ggh
    real(kind=r_2), intent(out), DIMENSION(:) :: dy
    real(kind=r_2), intent(out), DIMENSION(:) :: dT
    integer(kind=i_d), intent(in), optional :: condition
    integer(kind=i_d), intent(out), optional :: err
  • private subroutine massman_sparse_2d(aa, aah, bb, bbh, cc, cch, dd, ddh, ee, eeh, ff, ffh, gg, ggh, dy, dT, condition, err)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:,:) :: aa
    real(kind=r_2), intent(in), DIMENSION(:,:) :: aah
    real(kind=r_2), intent(in), DIMENSION(:,:) :: bb
    real(kind=r_2), intent(in), DIMENSION(:,:) :: bbh
    real(kind=r_2), intent(in), DIMENSION(:,:) :: cc
    real(kind=r_2), intent(in), DIMENSION(:,:) :: cch
    real(kind=r_2), intent(in), DIMENSION(:,:) :: dd
    real(kind=r_2), intent(in), DIMENSION(:,:) :: ddh
    real(kind=r_2), intent(in), DIMENSION(:,:) :: ee
    real(kind=r_2), intent(in), DIMENSION(:,:) :: eeh
    real(kind=r_2), intent(in), DIMENSION(:,:) :: ff
    real(kind=r_2), intent(in), DIMENSION(:,:) :: ffh
    real(kind=r_2), intent(in), DIMENSION(:,:) :: gg
    real(kind=r_2), intent(in), DIMENSION(:,:) :: ggh
    real(kind=r_2), intent(out), DIMENSION(:,:) :: dy
    real(kind=r_2), intent(out), DIMENSION(:,:) :: dT
    integer(kind=i_d), intent(in), optional :: condition
    integer(kind=i_d), intent(out), optional :: err

public interface tri

  • private subroutine tri_1d(ns, n, aa, bb, cc, dd, dy)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i_d), intent(in) :: ns
    integer(kind=i_d), intent(in) :: n
    real(kind=r_2), intent(in), DIMENSION(0:n) :: aa
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: bb
    real(kind=r_2), intent(in), DIMENSION(0:n) :: cc
    real(kind=r_2), intent(in), DIMENSION(0:n) :: dd
    real(kind=r_2), intent(inout), DIMENSION(0:n) :: dy
  • private subroutine tri_2d(mp, ns, n, aa, bb, cc, dd, dy)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i_d), intent(in) :: mp
    integer(kind=i_d), intent(in) :: ns
    integer(kind=i_d), intent(in) :: n
    real(kind=r_2), intent(in), DIMENSION(1:mp,0:n) :: aa
    real(kind=r_2), intent(inout), DIMENSION(1:mp,0:n) :: bb
    real(kind=r_2), intent(in), DIMENSION(1:mp,0:n) :: cc
    real(kind=r_2), intent(in), DIMENSION(1:mp,0:n) :: dd
    real(kind=r_2), intent(inout), DIMENSION(1:mp,0:n) :: dy

public interface mean

  • private function mean_1d(dat, mask)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:) :: dat
    logical, intent(in), optional, DIMENSION(:) :: mask

    Return Value real(kind=r_2)

  • private function mean_2d(dat, mask)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:,:) :: dat
    logical, intent(in), optional, DIMENSION(:,:) :: mask

    Return Value real(kind=r_2)

public interface nse

  • private function nse_1d(x, y, mask)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:) :: x
    real(kind=r_2), intent(in), DIMENSION(:) :: y
    logical, intent(in), optional, DIMENSION(:) :: mask

    Return Value real(kind=r_2)

  • private function nse_2d(x, y, mask)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r_2), intent(in), DIMENSION(:,:) :: x
    real(kind=r_2), intent(in), DIMENSION(:,:) :: y
    logical, intent(in), optional, DIMENSION(:,:) :: mask

    Return Value real(kind=r_2)


Functions

public pure elemental function csat(T)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T

Return Value real(kind=r_2)

public pure elemental function csoil(thetal, thetai, css, rho)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: thetal
real(kind=r_2), intent(in) :: thetai
real(kind=r_2), intent(in) :: css
real(kind=r_2), intent(in) :: rho

Return Value real(kind=r_2)

public pure elemental function dthetalmaxdT(Tin, S, he, b, thre, the)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: Tin
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the

Return Value real(kind=r_2)

public pure elemental function dthetalmaxdTh(Tin, S, he, b, thre, the)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: Tin
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the

Return Value real(kind=r_2)

public pure elemental function esat(T)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T

Return Value real(kind=r_2)

public pure elemental function gammln(z)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: z

Return Value real(kind=r_2)

private pure elemental function gcf(a, x)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: a
real(kind=r_2), intent(in) :: x

Return Value real(kind=r_2)

private pure elemental function gser(a, x)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: a
real(kind=r_2), intent(in) :: x

Return Value real(kind=r_2)

public pure elemental function igamma(a, x)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: a
real(kind=r_2), intent(in) :: x

Return Value real(kind=r_2)

public pure elemental function phi(hr0, lambda, eta, phie, he, T, Ksat)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: hr0
real(kind=r_2), intent(in) :: lambda
real(kind=r_2), intent(in) :: eta
real(kind=r_2), intent(in) :: phie
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: T
real(kind=r_2), intent(in), optional :: Ksat

Return Value real(kind=r_2)

public pure elemental function rh0_sol(hr0, solin)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: hr0
type(solve_type), intent(in) :: solin

Return Value real(kind=r_2)

public pure elemental function rtbis_rh0(sol, x1, x2, xacc)

Arguments

Type IntentOptional Attributes Name
type(solve_type), intent(in) :: sol
real(kind=r_2), intent(in) :: x1
real(kind=r_2), intent(in) :: x2
real(kind=r_2), intent(in) :: xacc

Return Value real(kind=r_2)

public pure elemental function slope_csat(T)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T

Return Value real(kind=r_2)

public pure elemental function slope_esat(T)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T

Return Value real(kind=r_2)

public elemental function esat_ice(T)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T

Return Value real(kind=r_2)

public elemental function slope_esat_ice(T)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T

Return Value real(kind=r_2)

public pure elemental function Sofh(h, parin)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: h
type(params), intent(in) :: parin

Return Value real(kind=r_2)

public pure elemental function Tfrz(S, he, b)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b

Return Value real(kind=r_2)

public pure elemental function Tfrozen(J, dx, theta, thetal, csoil, rhosoil, h0, thetasat)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: J
real(kind=r_2), intent(in) :: dx
real(kind=r_2), intent(in) :: theta
real(kind=r_2), intent(in) :: thetal
real(kind=r_2), intent(in) :: csoil
real(kind=r_2), intent(in) :: rhosoil
real(kind=r_2), intent(in) :: h0
real(kind=r_2), intent(in) :: thetasat

Return Value real(kind=r_2)

public pure elemental function GTfrozen(T, J, dx, theta, csoil, rhosoil, h0, thre, the, he, b)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T
real(kind=r_2), intent(in) :: J
real(kind=r_2), intent(in) :: dx
real(kind=r_2), intent(in) :: theta
real(kind=r_2), intent(in) :: csoil
real(kind=r_2), intent(in) :: rhosoil
real(kind=r_2), intent(in) :: h0
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b

Return Value real(kind=r_2)

public pure elemental function JSoilLayer(T, dx, theta, csoil, rhosoil, h0, thre, the, he, b)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: T
real(kind=r_2), intent(in) :: dx
real(kind=r_2), intent(in) :: theta
real(kind=r_2), intent(in) :: csoil
real(kind=r_2), intent(in) :: rhosoil
real(kind=r_2), intent(in) :: h0
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b

Return Value real(kind=r_2)

public pure elemental function rtbis_Tfrozen(J, dxsoil, theta, csoil, rhosoil, h0, thre, the, he, b, x1, x2, xacc)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: J
real(kind=r_2), intent(in) :: dxsoil
real(kind=r_2), intent(in) :: theta
real(kind=r_2), intent(in) :: csoil
real(kind=r_2), intent(in) :: rhosoil
real(kind=r_2), intent(in) :: h0
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b
real(kind=r_2), intent(in) :: x1
real(kind=r_2), intent(in) :: x2
real(kind=r_2), intent(in) :: xacc

Return Value real(kind=r_2)

public pure elemental function thetalmax(Tin, S, he, b, thre, the)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: Tin
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the

Return Value real(kind=r_2)

public pure elemental function Tthetalmax(thetal, Tin, S, he, b, thre, the)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: thetal
real(kind=r_2), intent(in) :: Tin
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(in) :: b
real(kind=r_2), intent(in) :: thre
real(kind=r_2), intent(in) :: the

Return Value real(kind=r_2)

public pure elemental function weight(parin, h, K, phi, dz)

Arguments

Type IntentOptional Attributes Name
type(params), intent(in) :: parin
real(kind=r_2), intent(in) :: h
real(kind=r_2), intent(in) :: K
real(kind=r_2), intent(in) :: phi
real(kind=r_2), intent(in) :: dz

Return Value real(kind=r_2)

public function zerovars()

Arguments

None

Return Value type(vars)

public function spline_b(tval, tdata, ydata)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:) :: tval
real(kind=r_2), intent(in), DIMENSION(:) :: tdata
real(kind=r_2), intent(in), DIMENSION(:) :: ydata

Return Value real(kind=r_2), DIMENSION(SIZE(tval))

private function mean_1d(dat, mask)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:) :: dat
logical, intent(in), optional, DIMENSION(:) :: mask

Return Value real(kind=r_2)

private function mean_2d(dat, mask)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:,:) :: dat
logical, intent(in), optional, DIMENSION(:,:) :: mask

Return Value real(kind=r_2)

private function nse_1d(x, y, mask)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:) :: x
real(kind=r_2), intent(in), DIMENSION(:) :: y
logical, intent(in), optional, DIMENSION(:) :: mask

Return Value real(kind=r_2)

private function nse_2d(x, y, mask)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:,:) :: x
real(kind=r_2), intent(in), DIMENSION(:,:) :: y
logical, intent(in), optional, DIMENSION(:,:) :: mask

Return Value real(kind=r_2)


Subroutines

public pure elemental subroutine aquifer_props(v_aquifer)

Arguments

Type IntentOptional Attributes Name
type(vars_aquifer), intent(inout) :: v_aquifer

public pure elemental subroutine flux(parin, v1, v2, dz, q, qya, qyb, qTa, qTb)

Arguments

Type IntentOptional Attributes Name
type(params), intent(in) :: parin
type(vars), intent(in) :: v1
type(vars), intent(in) :: v2
real(kind=r_2), intent(in) :: dz
real(kind=r_2), intent(out) :: q
real(kind=r_2), intent(out) :: qya
real(kind=r_2), intent(out) :: qyb
real(kind=r_2), intent(out) :: qTa
real(kind=r_2), intent(out) :: qTb

public subroutine forcerestore(Tg0, Rnet0, lE0, dlEdTg, Ta, Tbar, d1, rrc, lambda, cs, dt, iice, Tg, G, H, lE)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: Tg0
real(kind=r_2), intent(in) :: Rnet0
real(kind=r_2), intent(in) :: lE0
real(kind=r_2), intent(in) :: dlEdTg
real(kind=r_2), intent(in) :: Ta
real(kind=r_2), intent(in) :: Tbar
real(kind=r_2), intent(in) :: d1
real(kind=r_2), intent(in) :: rrc
real(kind=r_2), intent(in) :: lambda
real(kind=r_2), intent(in) :: cs
real(kind=r_2), intent(in) :: dt
integer, intent(in) :: iice
real(kind=r_2), intent(out) :: Tg
real(kind=r_2), intent(out) :: G
real(kind=r_2), intent(out) :: H
real(kind=r_2), intent(out) :: lE

private subroutine forcerestore_Deardorff(Tg0, Rnet0, lE0, dlEdTg, Ta, Tbar, d1, rrc, rhos, cs, dt, iice, Tg, G, H, lE)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: Tg0
real(kind=r_2), intent(in) :: Rnet0
real(kind=r_2), intent(in) :: lE0
real(kind=r_2), intent(in) :: dlEdTg
real(kind=r_2), intent(in) :: Ta
real(kind=r_2), intent(in) :: Tbar
real(kind=r_2), intent(in) :: d1
real(kind=r_2), intent(in) :: rrc
real(kind=r_2), intent(in) :: rhos
real(kind=r_2), intent(in) :: cs
real(kind=r_2), intent(in) :: dt
integer, intent(in) :: iice
real(kind=r_2), intent(out) :: Tg
real(kind=r_2), intent(out) :: G
real(kind=r_2), intent(out) :: H
real(kind=r_2), intent(out) :: lE

public subroutine SEB(n, par, vmet, vsnow, var, qprec, qprec_snow, dx, h0, Tsoil, Tsurface, G0, lE0, Epot, qsurface, qevap, qliq, qv, qyb, qTb, qlyb, qvyb, qlTb, qvTb, qh, qadv, qhyb, qhTb, qadvyb, qadvTb, irec)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: n
type(params), intent(in), DIMENSION(1:n) :: par
type(vars_met), intent(in) :: vmet
type(vars_snow), intent(in) :: vsnow
type(vars), intent(in), DIMENSION(1:n) :: var
real(kind=r_2), intent(in) :: qprec
real(kind=r_2), intent(in) :: qprec_snow
real(kind=r_2), intent(in), DIMENSION(1:n) :: dx
real(kind=r_2), intent(in) :: h0
real(kind=r_2), intent(in), DIMENSION(1:n) :: Tsoil
real(kind=r_2), intent(out) :: Tsurface
real(kind=r_2), intent(out) :: G0
real(kind=r_2), intent(out) :: lE0
real(kind=r_2), intent(out) :: Epot
real(kind=r_2), intent(out) :: qsurface
real(kind=r_2), intent(out) :: qevap
real(kind=r_2), intent(out) :: qliq
real(kind=r_2), intent(out) :: qv
real(kind=r_2), intent(out) :: qyb
real(kind=r_2), intent(out) :: qTb
real(kind=r_2), intent(out) :: qlyb
real(kind=r_2), intent(out) :: qvyb
real(kind=r_2), intent(out) :: qlTb
real(kind=r_2), intent(out) :: qvTb
real(kind=r_2), intent(out) :: qh
real(kind=r_2), intent(out) :: qadv
real(kind=r_2), intent(out) :: qhyb
real(kind=r_2), intent(out) :: qhTb
real(kind=r_2), intent(out) :: qadvyb
real(kind=r_2), intent(out) :: qadvTb
integer(kind=i_d), intent(in) :: irec

private subroutine SEB_FR(n, par, vmet, vsnow, var, qprec, qprec_snow, nsteps, dx, h0, Tsoil, dt, Tsurface0, Tsurface, G0, lE0, TsurfaceFR, G0FR, lEFR, HFR, qsurface, qevap, qliq, qv, qyb, qTb, qlyb, qvyb, qlTb, qvTb, qh, qadv, qhyb, qhTb, qadvyb, qadvTb, irec)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: n
type(params), intent(in), DIMENSION(1:n) :: par
type(vars_met), intent(in) :: vmet
type(vars_snow), intent(in) :: vsnow
type(vars), intent(in), DIMENSION(1:n) :: var
real(kind=r_2), intent(in) :: qprec
real(kind=r_2), intent(in) :: qprec_snow
integer(kind=i_d), intent(in) :: nsteps
real(kind=r_2), intent(in), DIMENSION(1:n) :: dx
real(kind=r_2), intent(in) :: h0
real(kind=r_2), intent(in), DIMENSION(1:n) :: Tsoil
real(kind=r_2), intent(in) :: dt
real(kind=r_2), intent(in) :: Tsurface0
real(kind=r_2), intent(out) :: Tsurface
real(kind=r_2), intent(out) :: G0
real(kind=r_2), intent(out) :: lE0
real(kind=r_2), intent(out) :: TsurfaceFR
real(kind=r_2), intent(out) :: G0FR
real(kind=r_2), intent(out) :: lEFR
real(kind=r_2), intent(out) :: HFR
real(kind=r_2), intent(out) :: qsurface
real(kind=r_2), intent(out) :: qevap
real(kind=r_2), intent(out) :: qliq
real(kind=r_2), intent(out) :: qv
real(kind=r_2), intent(out) :: qyb
real(kind=r_2), intent(out) :: qTb
real(kind=r_2), intent(out) :: qlyb
real(kind=r_2), intent(out) :: qvyb
real(kind=r_2), intent(out) :: qlTb
real(kind=r_2), intent(out) :: qvTb
real(kind=r_2), intent(out) :: qh
real(kind=r_2), intent(out) :: qadv
real(kind=r_2), intent(out) :: qhyb
real(kind=r_2), intent(out) :: qhTb
real(kind=r_2), intent(out) :: qadvyb
real(kind=r_2), intent(out) :: qadvTb
integer(kind=i_d), intent(in) :: irec

private subroutine generic_thomas_1d(n, A, B, C, r, u, err)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: n
real(kind=r_2), intent(in), DIMENSION(1:n,1:2,1:2) :: A
real(kind=r_2), intent(in), DIMENSION(1:n,1:2,1:2) :: B
real(kind=r_2), intent(in), DIMENSION(1:n,1:2,1:2) :: C
real(kind=r_2), intent(in), DIMENSION(1:n,1:2) :: r
real(kind=r_2), intent(out), DIMENSION(1:n,1:2) :: u
integer(kind=i_d), intent(out), optional :: err

private subroutine generic_thomas_2d(mp, n, A, B, C, r, u, err)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp
integer(kind=i_d), intent(in) :: n
real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2,1:2) :: A
real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2,1:2) :: B
real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2,1:2) :: C
real(kind=r_2), intent(in), DIMENSION(1:mp,1:n,1:2) :: r
real(kind=r_2), intent(out), DIMENSION(1:mp,1:n,1:2) :: u
integer(kind=i_d), intent(out), optional :: err

private subroutine getfluxes_vp_1d(n, dx, vtop, vbot, parin, var, hint, phimin, q, qya, qyb, qTa, qTb, ql, qlya, qlyb, qv, qvT, qvh, qvya, qvyb, iflux, init, getq0, getqn, Tsoil, T0, nsat, nsatlast)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: n
real(kind=r_2), intent(in), DIMENSION(1:n) :: dx
type(vars), intent(in) :: vtop
type(vars), intent(in) :: vbot
type(params), intent(in), DIMENSION(1:n) :: parin
type(vars), intent(inout), DIMENSION(1:n) :: var
real(kind=r_2), intent(inout), DIMENSION(1:n) :: hint
real(kind=r_2), intent(inout), DIMENSION(1:n) :: phimin
real(kind=r_2), intent(inout), DIMENSION(0:n) :: q
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qya
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qyb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTa
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: ql
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qlya
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qlyb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qv
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvT
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvh
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvya
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qvyb
integer(kind=i_d), intent(in) :: iflux
logical, intent(in) :: init
logical, intent(in) :: getq0
logical, intent(in) :: getqn
real(kind=r_2), intent(in), DIMENSION(1:n) :: Tsoil
real(kind=r_2), intent(in) :: T0
integer(kind=i_d), intent(in) :: nsat
integer(kind=i_d), intent(in) :: nsatlast

private subroutine getfluxes_vp_2d(dx, vtop, vbot, parin, var, hint, phimin, i_q, i_qya, i_qyb, i_qTa, i_qTb, i_ql, i_qlya, i_qlyb, i_qv, i_qvT, i_qvh, i_qvya, i_qvyb, iflux, init, getq0, getqn, Tsoil, T0, nsat, nsatlast)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:,:) :: dx
type(vars), intent(in), DIMENSION(:) :: vtop
type(vars), intent(in), DIMENSION(:) :: vbot
type(params), intent(in), DIMENSION(:,:) :: parin
type(vars), intent(in), DIMENSION(:,:) :: var
real(kind=r_2), intent(inout), DIMENSION(:,:) :: hint
real(kind=r_2), intent(inout), DIMENSION(:,:) :: phimin
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_q
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qya
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qyb
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTa
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTb
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_ql
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qlya
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qlyb
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qv
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvT
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvh
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvya
real(kind=r_2), intent(out), DIMENSION(:,:) :: i_qvyb
integer(kind=i_d), intent(in), DIMENSION(:) :: iflux
logical, intent(in), DIMENSION(:) :: init
logical, intent(in), DIMENSION(:) :: getq0
logical, intent(in), DIMENSION(:) :: getqn
real(kind=r_2), intent(in), DIMENSION(:,:) :: Tsoil
real(kind=r_2), intent(in), DIMENSION(:) :: T0
integer(kind=i_d), intent(in), DIMENSION(:) :: nsat
integer(kind=i_d), intent(in), DIMENSION(:) :: nsatlast

private subroutine getheatfluxes_1d(n, dx, dxL, qh, qhya, qhyb, qhTa, qhTb, var, vlit, T, TL, litter, q, qya, qyb, qTa, qTb, qadv, qadvya, qadvyb, qadvTa, qadvTb, advection)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: n
real(kind=r_2), intent(in), DIMENSION(1:n) :: dx
real(kind=r_2), intent(in) :: dxL
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qh
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhya
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhyb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhTa
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qhTb
type(vars), intent(in), DIMENSION(1:n) :: var
type(vars), intent(in) :: vlit
real(kind=r_2), intent(in), DIMENSION(1:n) :: T
real(kind=r_2), intent(in) :: TL
logical, intent(in) :: litter
real(kind=r_2), intent(inout), DIMENSION(0:n) :: q
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qya
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qyb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTa
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qTb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadv
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvya
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvyb
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvTa
real(kind=r_2), intent(inout), DIMENSION(0:n) :: qadvTb
integer(kind=i_d), intent(in) :: advection

private subroutine getheatfluxes_2d(dx, dxL, i_qh, i_qhya, i_qhyb, i_qhTa, i_qhTb, var, vlit, T, TL, litter, i_q, i_qya, i_qyb, i_qTa, i_qTb, i_qadv, i_qadvya, i_qadvyb, i_qadvTa, i_qadvTb, advection)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:,:) :: dx
real(kind=r_2), intent(in), DIMENSION(:) :: dxL
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qh
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhya
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhyb
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhTa
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qhTb
type(vars), intent(in), DIMENSION(:,:) :: var
type(vars), intent(in), DIMENSION(:) :: vlit
real(kind=r_2), intent(in), DIMENSION(:,:) :: T
real(kind=r_2), intent(in), DIMENSION(:) :: TL
logical, intent(in) :: litter
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_q
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qya
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qyb
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTa
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qTb
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadv
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvya
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvyb
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvTa
real(kind=r_2), intent(inout), DIMENSION(:,:) :: i_qadvTb
integer(kind=i_d), intent(in) :: advection

public pure elemental subroutine hyofh(h, lam, eta, Ke, he, K, Kh, phi)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: h
real(kind=r_2), intent(in) :: lam
real(kind=r_2), intent(in) :: eta
real(kind=r_2), intent(in) :: Ke
real(kind=r_2), intent(in) :: he
real(kind=r_2), intent(out) :: K
real(kind=r_2), intent(out) :: Kh
real(kind=r_2), intent(out) :: phi

public pure elemental subroutine hyofS(S, Tsoil, parin, var)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: Tsoil
type(params), intent(inout) :: parin
type(vars), intent(inout) :: var

public subroutine isosub(iso, c, p, f, fd)

Arguments

Type IntentOptional Attributes Name
character(len=2), intent(in) :: iso
real(kind=r_2), intent(in) :: c
real(kind=r_2), intent(inout), DIMENSION(:) :: p
real(kind=r_2), intent(out) :: f
real(kind=r_2), intent(out) :: fd

private subroutine massman_sparse_1d(aa, aah, bb, bbh, cc, cch, dd, ddh, ee, eeh, ff, ffh, gg, ggh, dy, dT, condition, err)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:) :: aa
real(kind=r_2), intent(in), DIMENSION(:) :: aah
real(kind=r_2), intent(in), DIMENSION(:) :: bb
real(kind=r_2), intent(in), DIMENSION(:) :: bbh
real(kind=r_2), intent(in), DIMENSION(:) :: cc
real(kind=r_2), intent(in), DIMENSION(:) :: cch
real(kind=r_2), intent(in), DIMENSION(:) :: dd
real(kind=r_2), intent(in), DIMENSION(:) :: ddh
real(kind=r_2), intent(in), DIMENSION(:) :: ee
real(kind=r_2), intent(in), DIMENSION(:) :: eeh
real(kind=r_2), intent(in), DIMENSION(:) :: ff
real(kind=r_2), intent(in), DIMENSION(:) :: ffh
real(kind=r_2), intent(in), DIMENSION(:) :: gg
real(kind=r_2), intent(in), DIMENSION(:) :: ggh
real(kind=r_2), intent(out), DIMENSION(:) :: dy
real(kind=r_2), intent(out), DIMENSION(:) :: dT
integer(kind=i_d), intent(in), optional :: condition
integer(kind=i_d), intent(out), optional :: err

private subroutine massman_sparse_2d(aa, aah, bb, bbh, cc, cch, dd, ddh, ee, eeh, ff, ffh, gg, ggh, dy, dT, condition, err)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:,:) :: aa
real(kind=r_2), intent(in), DIMENSION(:,:) :: aah
real(kind=r_2), intent(in), DIMENSION(:,:) :: bb
real(kind=r_2), intent(in), DIMENSION(:,:) :: bbh
real(kind=r_2), intent(in), DIMENSION(:,:) :: cc
real(kind=r_2), intent(in), DIMENSION(:,:) :: cch
real(kind=r_2), intent(in), DIMENSION(:,:) :: dd
real(kind=r_2), intent(in), DIMENSION(:,:) :: ddh
real(kind=r_2), intent(in), DIMENSION(:,:) :: ee
real(kind=r_2), intent(in), DIMENSION(:,:) :: eeh
real(kind=r_2), intent(in), DIMENSION(:,:) :: ff
real(kind=r_2), intent(in), DIMENSION(:,:) :: ffh
real(kind=r_2), intent(in), DIMENSION(:,:) :: gg
real(kind=r_2), intent(in), DIMENSION(:,:) :: ggh
real(kind=r_2), intent(out), DIMENSION(:,:) :: dy
real(kind=r_2), intent(out), DIMENSION(:,:) :: dT
integer(kind=i_d), intent(in), optional :: condition
integer(kind=i_d), intent(out), optional :: err

public pure elemental subroutine litter_props(S, Tsoil, vlit, plit, h0)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: S
real(kind=r_2), intent(in) :: Tsoil
type(vars), intent(inout) :: vlit
type(params), intent(in) :: plit
real(kind=r_2), intent(in) :: h0

public subroutine potential_evap(Rn, rbh, rbw, Ta, rha, Tsoil, k, dz, lambdav, Ts, E, H, G, dEdrha, dEdTs, dEdTsoil, dGdTa, dGdTsoil, iice)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in) :: Rn
real(kind=r_2), intent(in) :: rbh
real(kind=r_2), intent(in) :: rbw
real(kind=r_2), intent(in) :: Ta
real(kind=r_2), intent(in) :: rha
real(kind=r_2), intent(in) :: Tsoil
real(kind=r_2), intent(in) :: k
real(kind=r_2), intent(in) :: dz
real(kind=r_2), intent(in) :: lambdav
real(kind=r_2), intent(out) :: Ts
real(kind=r_2), intent(out) :: E
real(kind=r_2), intent(out) :: H
real(kind=r_2), intent(out) :: G
real(kind=r_2), intent(out) :: dEdrha
real(kind=r_2), intent(out) :: dEdTs
real(kind=r_2), intent(out) :: dEdTsoil
real(kind=r_2), intent(out) :: dGdTa
real(kind=r_2), intent(out) :: dGdTsoil
logical, intent(in), optional :: iice

public subroutine setlitterpar(mp, veg, index)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp
type(veg_parameter_type), intent(in) :: veg
integer(kind=i_d), intent(in), DIMENSION(:) :: index

public subroutine setpar(mp, ms, soil, index)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp
integer(kind=i_d), intent(in) :: ms
type(soil_parameter_type), intent(in) :: soil
integer(kind=i_d), intent(in), DIMENSION(:) :: index

public subroutine setpar_Loetsch(mp, ms, x2dx)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp
integer(kind=i_d), intent(in) :: ms
real(kind=r_2), intent(in), DIMENSION(:,:) :: x2dx

public subroutine setsol(mp)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp

public subroutine setx(mp, ms, soil)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp
integer(kind=i_d), intent(in) :: ms
type(soil_parameter_type), intent(in) :: soil

private subroutine tri_1d(ns, n, aa, bb, cc, dd, dy)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: ns
integer(kind=i_d), intent(in) :: n
real(kind=r_2), intent(in), DIMENSION(0:n) :: aa
real(kind=r_2), intent(inout), DIMENSION(0:n) :: bb
real(kind=r_2), intent(in), DIMENSION(0:n) :: cc
real(kind=r_2), intent(in), DIMENSION(0:n) :: dd
real(kind=r_2), intent(inout), DIMENSION(0:n) :: dy

private subroutine tri_2d(mp, ns, n, aa, bb, cc, dd, dy)

Arguments

Type IntentOptional Attributes Name
integer(kind=i_d), intent(in) :: mp
integer(kind=i_d), intent(in) :: ns
integer(kind=i_d), intent(in) :: n
real(kind=r_2), intent(in), DIMENSION(1:mp,0:n) :: aa
real(kind=r_2), intent(inout), DIMENSION(1:mp,0:n) :: bb
real(kind=r_2), intent(in), DIMENSION(1:mp,0:n) :: cc
real(kind=r_2), intent(in), DIMENSION(1:mp,0:n) :: dd
real(kind=r_2), intent(inout), DIMENSION(1:mp,0:n) :: dy

private subroutine bracket(x, xval, left, right)

Arguments

Type IntentOptional Attributes Name
real(kind=r_2), intent(in), DIMENSION(:) :: x
real(kind=r_2), intent(in), DIMENSION(:) :: xval
integer(kind=i_d), intent(out), DIMENSION(SIZE(xval)) :: left
integer(kind=i_d), intent(out), DIMENSION(SIZE(xval)) :: right