soil Module


Uses

  • module~~soil~~UsesGraph module~soil soil module~utilities utilities module~soil->module~utilities

Used by

  • module~~soil~~UsedByGraph module~soil soil proc~catchment_assign_subcatch catchment_assign_subcatch proc~catchment_assign_subcatch->module~soil proc~catchment_initialise_subcatchm catchment_initialise_subcatchm proc~catchment_initialise_subcatchm->module~soil proc~catchment_read_subcatch_params catchment_read_subcatch_params proc~catchment_read_subcatch_params->module~soil proc~hydrotope_process hydrotope_process proc~hydrotope_process->module~soil proc~initialise initialise proc~initialise->module~soil proc~print_module_parameters print_module_parameters proc~print_module_parameters->module~soil proc~reservoir_subbasin reservoir_subbasin proc~reservoir_subbasin->module~soil proc~runsubbasin runsubbasin proc~runsubbasin->module~soil proc~terminate terminate proc~terminate->module~soil proc~time_process_day time_process_day proc~time_process_day->module~soil proc~time_process_month time_process_month proc~time_process_month->module~soil

Variables

Type Visibility Attributes Name Initial
real(kind=dp), public :: ab = 0.02083
real(kind=dp), public, save, dimension(:), allocatable :: abd
real(kind=dp), public, save, dimension(:), allocatable :: al
real(kind=dp), public, save, dimension(:), allocatable :: amp
real(kind=dp), public, save :: amt = 4.
real(kind=dp), public, save, dimension(:, :), allocatable :: ap
real(kind=dp), public, save, dimension(:), allocatable :: avt
real(kind=dp), public, save, dimension(:, :), allocatable :: awc
real(kind=dp), public, save, dimension(:), allocatable :: bd
real(kind=dp), public, save, dimension(:, :), allocatable :: bden
real(kind=dp), public, save, dimension(17) :: bsc = (/-8.96847, 0., -0.028212, 19.52348, 0.00018107, -0.0094125, -8.395215, 0., 0.077718, 0., 0.0000173, 0.02733, 0.001434, -0.0000035, 0., -0.00298, -0.019492/)
real(kind=dp), public, save, dimension(:), allocatable :: bsn_cncor
real(kind=dp), public, save, dimension(:), allocatable :: bsn_sccor
real(kind=dp), public, save, dimension(:, :), allocatable :: cbn
real(kind=dp), public, save, dimension(:, :), allocatable :: cla
real(kind=dp), public, save, dimension(:, :), allocatable :: clay
real(kind=dp), public, save :: cn
real(kind=dp), public, save, dimension(:, :), allocatable :: cn2
real(kind=dp), public, save, dimension(:), allocatable :: cncor
real(kind=dp), public, save :: cnum1 = 2.
real(kind=dp), public, save :: cnum3 = 2.
real(kind=dp), public, save, dimension(:), allocatable :: cv
real(kind=dp), public, save :: dur
real(kind=dp), public, save, dimension(:), allocatable :: ek
real(kind=dp), public, save :: ekc0 = 1.
real(kind=dp), public, save, dimension(:, :), allocatable :: fc
real(kind=dp), public, save, dimension(:), allocatable :: ffc
real(kind=dp), public, save, dimension(:, :, :), allocatable :: flate
real(kind=dp), public, save, dimension(:, :), allocatable :: hk
real(kind=dp), public, save, dimension(:, :, :), allocatable :: hrtc
real(kind=dp), public, save, dimension(:, :), allocatable :: hum
real(kind=dp), public, save, dimension(:, :, :), allocatable :: hwss
integer, public, save :: icn
integer, public, save :: isc
integer, public, save :: iv
integer, public, save, dimension(4) :: k7 = (/227, 57, 929, 37/)
integer, public :: ml = 10
integer, public, save :: ms = 0
integer, public, save :: msdb = 0
integer, public, save :: nn
integer, public, save, dimension(:), allocatable :: ns
integer, public, save, dimension(:), allocatable :: nsa
integer, public, save, dimension(:), allocatable :: nsolgr
real(kind=dp), public, save, dimension(:, :), allocatable :: op
integer, public :: percolation_output_id = 0
real(kind=dp), public, save, dimension(:, :), allocatable :: pmn
real(kind=dp), public, save, dimension(:, :, :), allocatable :: poe
real(kind=dp), public, save, dimension(:, :), allocatable :: por
real(kind=dp), public, save, dimension(:, :), allocatable :: poros
real(kind=dp), public, save :: pr
real(kind=dp), public, save :: prk
real(kind=dp), public :: psp = 0.5
real(kind=dp), public, save, dimension(:, :), allocatable :: psz
real(kind=dp), public, save :: q1
real(kind=dp), public, save :: qd
real(kind=dp), public, save :: r1
real(kind=dp), public, save :: rn1
real(kind=dp), public, save :: rp
real(kind=dp), public :: rtn = 0.15
real(kind=dp), public, save, dimension(:, :), allocatable :: san
real(kind=dp), public, save, dimension(:, :), allocatable :: sand
real(kind=dp), public, save, dimension(:, :), allocatable :: sc
real(kind=dp), public, save, dimension(:), allocatable :: sccor
real(kind=dp), public, save :: sccor0 = 1.
real(kind=dp), public, save :: sep
real(kind=dp), public, save, dimension(:, :), allocatable :: sil
real(kind=dp), public, save, dimension(:, :), allocatable :: silt
real(kind=dp), public, save, dimension(:, :), allocatable :: smx
integer, public, save, dimension(:), allocatable :: snum
real(kind=dp), public, save :: soil_acc_mm
character(len=path_max_length), public, dimension(:), allocatable :: soil_filenames
character(len=path_max_length), public :: soil_input_dir = 'soils'
character(len=path_max_length), public :: soil_input_file = "soil.csv"
integer, public :: soil_input_file_id
integer, public :: soil_water_index_output_id = 0
real(kind=dp), public, save, dimension(:, :, :), allocatable :: ste
real(kind=dp), public, save, dimension(:, :), allocatable :: stin
real(kind=dp), public, save :: stinco = 0.9
real(kind=dp), public, save :: su
integer, public :: subsurface_runoff_output_id = 0
real(kind=dp), public, save, dimension(:), allocatable :: sumfc
real(kind=dp), public, save, dimension(:), allocatable :: sumul
integer, public :: surface_runoff_output_id = 0
real(kind=dp), public, save, dimension(:), allocatable :: swin
real(kind=dp), public, save, dimension(:), allocatable :: tc
real(kind=dp), public, save, dimension(:, :, :), allocatable :: te
real(kind=dp), public, save, dimension(:, :), allocatable :: te0
real(kind=dp), public, save, dimension(:, :), allocatable :: ul
real(kind=dp), public, save, dimension(:, :), allocatable :: up
real(kind=dp), public, save :: vo
real(kind=dp), public, save, dimension(:, :, :), allocatable :: wf
real(kind=dp), public, save, dimension(:, :), allocatable :: wft
real(kind=dp), public, save, dimension(:, :), allocatable :: wi
real(kind=dp), public, save, dimension(:, :), allocatable :: wmn
real(kind=dp), public, save, dimension(:, :), allocatable :: wn
real(kind=dp), public, save, dimension(:, :), allocatable :: wno3
real(kind=dp), public, save, dimension(:, :), allocatable :: wp
real(kind=dp), public, save, dimension(:, :), allocatable :: wpo
real(kind=dp), public, save :: xqd
real(kind=dp), public, save, dimension(:, :), allocatable :: z

Subroutines

public subroutine dealloc_soil()

Arguments

None

public subroutine soil_allocate(mb, meap)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mb
integer, intent(in) :: meap

public subroutine soil_allocate_subcatch(n_subcatch)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n_subcatch

public subroutine soil_curve_number(cnn, j, je, hsumfc, hsumul)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: cnn
integer, intent(in) :: j
integer, intent(in) :: je
real(kind=dp), intent(in), dimension(:, :) :: hsumfc
real(kind=dp), intent(in), dimension(:, :) :: hsumul

public subroutine soil_curve_number_alpha(j, mo, precip, sml)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer, intent(in) :: mo
real(kind=dp), intent(in) :: precip
real(kind=dp), intent(in) :: sml

public subroutine soil_curve_number_peak_runoff(j)

Arguments

Type IntentOptional Attributes Name
integer :: j

public subroutine soil_curve_number_runoff(j, je, alai, blai, canstor, igro, nucr, preinf, cnmx)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
real(kind=dp), intent(in), dimension(:, :) :: alai
real(kind=dp), intent(in), dimension(:) :: blai
real(kind=dp), intent(inout), dimension(:, :) :: canstor
integer, intent(in), dimension(:, :) :: igro
integer, intent(in), dimension(:, :) :: nucr
real(kind=dp), intent(inout), dimension(:, :) :: preinf
real(kind=dp), intent(in) :: cnmx

public subroutine soil_curve_transmission_losses(j, chk, chl, chw)

Arguments

Type IntentOptional Attributes Name
integer :: j
real(kind=dp), intent(in), dimension(:, :) :: chk
real(kind=dp), intent(in), dimension(:, :) :: chl
real(kind=dp), intent(in), dimension(:, :) :: chw

public subroutine soil_initialise(mb, meap, mstruc, neap, bSubcatch, da, slope_length, stp, ovn, chs, flu, chn, chl, cn2a, cn2b, cn2c, cn2d)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mb
integer, intent(in) :: meap
integer, intent(in), dimension(:, :, :) :: mstruc
integer, intent(inout) :: neap(:)
logical, intent(in) :: bSubcatch
real(kind=dp), intent(in) :: da
real(kind=dp), intent(in) :: slope_length(:)
real(kind=dp), intent(in) :: stp(:)
real(kind=dp), intent(in) :: ovn(mb)
real(kind=dp), intent(in) :: chs(mb)
real(kind=dp), intent(in) :: flu(mb)
real(kind=dp), intent(in) :: chn(mb)
real(kind=dp), intent(in) :: chl(2,mb)
real(kind=dp), intent(in), dimension(:) :: cn2a
real(kind=dp), intent(in), dimension(:) :: cn2b
real(kind=dp), intent(in), dimension(:) :: cn2c
real(kind=dp), intent(in), dimension(:) :: cn2d

public subroutine soil_percolation(j, je, k, j1, j2, swe)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: k
integer :: j1
integer :: j2
real(kind=dp), intent(in), dimension(:, :) :: swe

public subroutine soil_process(j, je, k, rain, swe)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: k
real(kind=dp), intent(in) :: rain
real(kind=dp), intent(in), dimension(:, :) :: swe

public subroutine soil_read_input(mb, mstruc, neap, cn2a, cn2b, cn2c, cn2d)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: mb
integer, intent(in), dimension(:, :, :) :: mstruc
integer, intent(in), dimension(:) :: neap
real(kind=dp), intent(in), dimension(:) :: cn2a
real(kind=dp), intent(in), dimension(:) :: cn2b
real(kind=dp), intent(in), dimension(:) :: cn2c
real(kind=dp), intent(in), dimension(:) :: cn2d

public subroutine soil_temperature(zz, j, je, k, bcv, ida, mo, pit, preinf, swe, tmax_tmp, tmin_tmp, tx_tmp)

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: zz
integer :: j
integer :: je
integer :: k
real(kind=dp), intent(in), dimension(:, :) :: bcv
integer, intent(in) :: ida
integer, intent(in) :: mo
real(kind=dp), intent(in) :: pit
real(kind=dp), intent(in), dimension(:, :) :: preinf
real(kind=dp), intent(in), dimension(:, :) :: swe
real(kind=dp), intent(in) :: tmax_tmp
real(kind=dp), intent(in) :: tmin_tmp
real(kind=dp), intent(in) :: tx_tmp