vegetation_nutrient_stress Subroutine

public subroutine vegetation_nutrient_stress(u1, u2, uu)

Arguments

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

Called by

proc~~vegetation_nutrient_stress~~CalledByGraph proc~vegetation_nutrient_stress vegetation_nutrient_stress proc~nutrient_nitrate_uptake nutrient_nitrate_uptake proc~nutrient_nitrate_uptake->proc~vegetation_nutrient_stress proc~nutrient_phosphorus_uptake nutrient_phosphorus_uptake proc~nutrient_phosphorus_uptake->proc~vegetation_nutrient_stress proc~vegetation_process vegetation_process proc~vegetation_process->proc~nutrient_nitrate_uptake proc~vegetation_process->proc~nutrient_phosphorus_uptake proc~crop_growth crop_growth proc~crop_growth->proc~nutrient_nitrate_uptake proc~crop_growth->proc~nutrient_phosphorus_uptake proc~crop_process crop_process proc~crop_process->proc~crop_growth proc~hydrotope_process hydrotope_process proc~hydrotope_process->proc~vegetation_process proc~hydrotope_process->proc~crop_process proc~runsubbasin runsubbasin proc~runsubbasin->proc~hydrotope_process proc~time_process_day time_process_day proc~time_process_day->proc~runsubbasin proc~time_process_month time_process_month proc~time_process_month->proc~time_process_day proc~time_process_years time_process_years proc~time_process_years->proc~time_process_month program~swim swim program~swim->proc~time_process_years

Contents


Source Code

  subroutine vegetation_nutrient_stress(u1, u2, uu)
    !**** PURPOSE: THIS FUNCTION CALCULATES THE NUTRIENT STRESS FACTOR uu
    !              CAUSED BY LIMITED SUPPLY of N or P
    !**** CALLED IN: NUPTAKE, PUPTAKE
    !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    !     PARAMETERS & VARIABLES
    !
    !      u1 = N or P uptake in current day (SUPPLY), kg/ha
    !      u2 = optimal uptake of N or P until current day (DEMAND), kg/ha
    !      uu = nutrient stress factor
    !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


    real(dp) u1, u2, uu

    uu = 200. * (u1 / (u2 + .0001) - .5)
    if (uu .le. 0.) then
      uu = 0.
    else
      uu = uu / (uu + exp(3.535 - .02597 * uu))
    end if

    return
  end subroutine vegetation_nutrient_stress