nutrient Module


Uses

  • module~~nutrient~~UsesGraph module~nutrient nutrient module~utilities utilities module~nutrient->module~utilities

Used by

  • module~~nutrient~~UsedByGraph module~nutrient nutrient proc~crop_growth crop_growth proc~crop_growth->module~nutrient proc~hydrotope_process hydrotope_process proc~hydrotope_process->module~nutrient proc~initialise initialise proc~initialise->module~nutrient proc~print_module_parameters print_module_parameters proc~print_module_parameters->module~nutrient proc~runsubbasin runsubbasin proc~runsubbasin->module~nutrient proc~terminate terminate proc~terminate->module~nutrient proc~time_process_day time_process_day proc~time_process_day->module~nutrient proc~time_process_month time_process_month proc~time_process_month->module~nutrient proc~vegetation_process vegetation_process proc~vegetation_process->module~nutrient

Variables

Type Visibility Attributes Name Initial
real(kind=dp), public, save, dimension(:, :, :), allocatable :: ano3
real(kind=dp), public, save, dimension(:, :, :), allocatable :: anora
real(kind=dp), public, save, dimension(:, :, :), allocatable :: anors
real(kind=dp), public, save :: bk = .0006
real(kind=dp), public, save, dimension(:), allocatable :: bn1
real(kind=dp), public, save, dimension(:), allocatable :: bn2
real(kind=dp), public, save, dimension(:), allocatable :: bn3
real(kind=dp), public, save, dimension(:), allocatable :: bnu1
real(kind=dp), public, save, dimension(:), allocatable :: bnu2
real(kind=dp), public, save, dimension(:), allocatable :: bp1
real(kind=dp), public, save, dimension(:), allocatable :: bp2
real(kind=dp), public, save, dimension(:), allocatable :: bp3
real(kind=dp), public, save, dimension(:), allocatable :: bpu1
real(kind=dp), public, save, dimension(:), allocatable :: bpu2
real(kind=dp), public, save :: cdn = -1.4
real(kind=dp), public, save :: cmn = .0003
real(kind=dp), public, save :: cnb
real(kind=dp), public, save :: csf
real(kind=dp), public, save :: degNgrw = 0.3
real(kind=dp), public, save :: degNsub = 0.3
real(kind=dp), public, save :: degNsur = 0.02
real(kind=dp), public, save :: degPsur = 0.02
real(kind=dp), public, save, dimension(:, :, :), allocatable :: dflow
real(kind=dp), public, save :: dkd = 175.
real(kind=dp), public, save :: humn
integer, public, save :: inuhd = 1
integer, public, save :: inusb = 1
integer, public, save :: inutr = 1
logical, public, save :: nutrient_on = .false.
real(kind=dp), public, save :: percn
real(kind=dp), public, save, dimension(:, :, :), allocatable :: plab
real(kind=dp), public, save, dimension(:, :, :), allocatable :: pma
real(kind=dp), public, save, dimension(:, :, :), allocatable :: pms
real(kind=dp), public, save, dimension(:, :, :), allocatable :: porg
real(kind=dp), public, save :: rcn = 1.
real(kind=dp), public, save :: retNgrw = 15000.0
real(kind=dp), public, save :: retNsub = 365.0
real(kind=dp), public, save :: retNsur = 5.0
real(kind=dp), public, save :: retPsur = 20.0
real(kind=dp), public, save :: salpf
real(kind=dp), public, save :: sasnf = 0.
real(kind=dp), public, save :: saspf
real(kind=dp), public, save :: sbnup = 0.
real(kind=dp), public, save :: sbpup = 0.
real(kind=dp), public, save :: sdnit = 0.
real(kind=dp), public, save :: sfomn = 0.
real(kind=dp), public, save :: sfomp
real(kind=dp), public, save :: shumn = 0.
real(kind=dp), public, save :: shump
real(kind=dp), public, save :: ssf
real(kind=dp), public, save :: ssfn
real(kind=dp), public, save :: strsn
real(kind=dp), public, save :: strsp
real(kind=dp), public, save :: uap
real(kind=dp), public, save :: uno3
real(kind=dp), public, save, dimension(20) :: xnflow
real(kind=dp), public, save :: yno3
real(kind=dp), public, save :: yon
real(kind=dp), public, save :: yph
real(kind=dp), public, save :: ysp

Subroutines

public subroutine dealloc_nutrient()

Arguments

None

public subroutine nutrient_allocate(mb, mcrdb, meap, ml)

Arguments

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

public subroutine nutrient_fertilisation(j, je, ii, fen, feno, fep)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: ii
real(kind=dp), intent(in), dimension(:) :: fen
real(kind=dp), intent(in), dimension(:) :: feno
real(kind=dp), intent(in), dimension(:) :: fep

public subroutine nutrient_initialise(mb, mcrdb, meap, ml)

Arguments

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

public subroutine nutrient_leaching(j, jea, k, bd, cbn, flate, flu, fon, fop, frar, nn, poe, preinf, psp, qd, rsd, rtn, ste, te, ul, yone, yphe)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: j
integer, intent(in) :: jea
integer, intent(in) :: k
real(kind=dp), intent(in), dimension(:) :: bd
real(kind=dp), intent(in), dimension(:, :) :: cbn
real(kind=dp), intent(in), dimension(:, :, :) :: flate
real(kind=dp), intent(in), dimension(:) :: flu
real(kind=dp), intent(inout), dimension(:, :, :) :: fon
real(kind=dp), intent(inout), dimension(:, :, :) :: fop
real(kind=dp), intent(in), dimension(:, :) :: frar
integer, intent(in) :: nn
real(kind=dp), intent(in), dimension(:, :, :) :: poe
real(kind=dp), intent(in), dimension(:, :) :: preinf
real(kind=dp), intent(in) :: psp
real(kind=dp), intent(in) :: qd
real(kind=dp), intent(inout), dimension(:, :, :) :: rsd
real(kind=dp), intent(in) :: rtn
real(kind=dp), intent(in), dimension(:, :, :) :: ste
real(kind=dp), intent(in), dimension(:, :, :) :: te
real(kind=dp), intent(in), dimension(:, :) :: ul
real(kind=dp), intent(inout), dimension(:) :: yone
real(kind=dp), intent(inout), dimension(:) :: yphe

public subroutine nutrient_nitrate_cycle(j, je, k, cbn, flu, fon, fop, frar, nn, rsd, rtn, ste, te, ul, yone)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: k
real(kind=dp), intent(in), dimension(:, :) :: cbn
real(kind=dp), intent(in), dimension(:) :: flu
real(kind=dp), intent(inout), dimension(:, :, :) :: fon
real(kind=dp), intent(in), dimension(:, :, :) :: fop
real(kind=dp), intent(in), dimension(:, :) :: frar
integer, intent(in) :: nn
real(kind=dp), intent(inout), dimension(:, :, :) :: rsd
real(kind=dp), intent(in) :: rtn
real(kind=dp), intent(in), dimension(:, :, :) :: ste
real(kind=dp), intent(in), dimension(:, :, :) :: te
real(kind=dp), intent(in), dimension(:, :) :: ul
real(kind=dp), intent(inout), dimension(:) :: yone

public subroutine nutrient_nitrate_leaching(j, je, k, flate, nn, poe, preinf, qd, ul)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: k
real(kind=dp), intent(in), dimension(:, :, :) :: flate
integer, intent(in) :: nn
real(kind=dp), intent(in), dimension(:, :, :) :: poe
real(kind=dp), intent(in), dimension(:, :) :: preinf
real(kind=dp), intent(in) :: qd
real(kind=dp), intent(in), dimension(:, :) :: ul

public subroutine nutrient_nitrate_uptake(j, je, nv, dm, flu, frar, g, ida, nn, snup)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: nv
real(kind=dp), intent(in), dimension(:, :) :: dm
real(kind=dp), intent(in), dimension(:) :: flu
real(kind=dp), intent(in), dimension(:, :) :: frar
real(kind=dp), intent(in), dimension(:, :) :: g
integer, intent(in) :: ida
integer, intent(in) :: nn
real(kind=dp), intent(inout), dimension(:, :) :: snup

public subroutine nutrient_phosphorus_cycle(j, je, flu, fon, fop, frar, nn, psp, rsd, yphe)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
real(kind=dp), intent(in), dimension(:) :: flu
real(kind=dp), intent(in), dimension(:, :, :) :: fon
real(kind=dp), intent(inout), dimension(:, :, :) :: fop
real(kind=dp), intent(in), dimension(:, :) :: frar
integer, intent(in) :: nn
real(kind=dp), intent(in) :: psp
real(kind=dp), intent(in), dimension(:, :, :) :: rsd
real(kind=dp), intent(inout), dimension(:) :: yphe

public subroutine nutrient_phosphorus_loss(j, je, k, bd, qd)

Arguments

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

public subroutine nutrient_phosphorus_uptake(j, je, nv, dm, flu, frar, g, ida, nn, spup)

Arguments

Type IntentOptional Attributes Name
integer :: j
integer :: je
integer :: nv
real(kind=dp), intent(in), dimension(:, :) :: dm
real(kind=dp), intent(in), dimension(:) :: flu
real(kind=dp), intent(in), dimension(:, :) :: frar
real(kind=dp), intent(in), dimension(:, :) :: g
integer, intent(in) :: ida
integer, intent(in) :: nn
real(kind=dp), intent(inout), dimension(:, :) :: spup

public subroutine vegetation_nutrient_stress(u1, u2, uu)

Arguments

Type IntentOptional Attributes Name
real(kind=dp) :: u1
real(kind=dp) :: u2
real(kind=dp) :: uu