allocate_parms.f90 Source File


This file depends on

sourcefile~~allocate_parms.f90~~EfferentGraph sourcefile~allocate_parms.f90 allocate_parms.f90 sourcefile~constituent_mass_module.f90 constituent_mass_module.f90 sourcefile~allocate_parms.f90->sourcefile~constituent_mass_module.f90 sourcefile~hru_module.f90 hru_module.f90 sourcefile~allocate_parms.f90->sourcefile~hru_module.f90 sourcefile~hydrograph_module.f90 hydrograph_module.f90 sourcefile~allocate_parms.f90->sourcefile~hydrograph_module.f90 sourcefile~time_module.f90 time_module.f90 sourcefile~allocate_parms.f90->sourcefile~time_module.f90 sourcefile~hydrograph_module.f90->sourcefile~time_module.f90 sourcefile~basin_module.f90 basin_module.f90 sourcefile~hydrograph_module.f90->sourcefile~basin_module.f90

Source Code

      subroutine allocate_parms
!!    ~ ~ ~ PURPOSE ~ ~ ~
!!    this subroutine allocates array sizes

!!    ~ ~ ~ INCOMING VARIABLES ~ ~ ~
!!    name        |units         |definition
!!    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!!    mhyd        |none          |max number of hydrographs
!!    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

      use hru_module      
      use time_module
      use hydrograph_module
      use constituent_mass_module

      implicit none
      
      integer :: mhru = 0
      integer :: mch = 0
      integer :: mpc = 0
      
!! initialize variables    
      mhyd = 1  !!added for jaehak vars
      mhru = sp_ob%hru
      mch = sp_ob%chan

!!    drains
      allocate (wnan(10), source = 0.)
      allocate (ranrns_hru(mhru), source = 0.)
      
      !dimension plant arrays used each day and not saved
       mpc = 20
       allocate (uno3d(mpc), source = 0.)
       allocate (uapd(mpc), source = 0.)
       allocate (un2(mpc), source = 0.)
       allocate (up2(mpc), source = 0.)
       allocate (translt(mpc), source = 0.)
       allocate (par(mpc), source = 0.)
       allocate (htfac(mpc), source = 0.)
       allocate (epmax(mpc), source = 0.)
       epmax = 0.

!!    arrays for plant communities
      allocate (cvm_com(mhru), source = 0.)
      allocate (rsdco_plcom(mhru), source = 0.)
      allocate (percn(mhru), source = 0.)

!! septic changes added 1/28/09 gsm
      allocate (i_sep(mhru), source = 0)
      allocate (sep_tsincefail(mhru), source = 0)
      allocate (qstemm(mhru), source = 0.)
      allocate (bio_bod(mhru), source = 0.)
      allocate (biom(mhru), source = 0.)
      allocate (rbiom(mhru), source = 0.)
      allocate (fcoli(mhru), source = 0.)
      allocate (bz_perc(mhru), source = 0.)
      allocate (plqm(mhru), source = 0.)
      allocate (itb(mhru), source = 0)
      
      allocate (hhqday(mhru,time%step), source = 0.)
      
 !!  added per JGA for Srini by gsm 9/8/2011
 !! arrays for mangement output (output.mgt)  
      allocate (sol_sumno3(mhru), source = 0.)
      allocate (sol_sumsolp(mhru), source = 0.)

      allocate (iseptic(mhru), source = 0)

!!    arrays which contain data related to years of rotation,
!!    grazings per year, and HRUs
      allocate (grz_days(mhru), source = 0)

!!    arrays which contain data related to HRUs
      allocate (brt(mhru), source = 0.)
      allocate (canstor(mhru), source = 0.)
      allocate (cbodu(mhru), source = 0.)
      allocate (chl_a(mhru), source = 0.)
      allocate (cklsp(mhru), source = 0.)
      allocate (cn2(mhru), source = 0.)
      allocate (cnday(mhru), source = 0.)
!    Drainmod tile equations  01/2006 
   allocate (cumei(mhru), source = 0.)
   allocate (cumeira(mhru), source = 0.)
   allocate (cumrt(mhru), source = 0.)
   allocate (cumrai(mhru), source = 0.)
!    Drainmod tile equations  01/2006
      allocate (dormhr(mhru), source = 0.)
      allocate (doxq(mhru), source = 0.)
      allocate (filterw(mhru), source = 0.)
      allocate (igrz(mhru), source = 0)
      allocate (yr_skip(mhru), source = 0)
      allocate (isweep(mhru), source = 0)
      allocate (phusw(mhru), source = 0.)
      allocate (latno3(mhru), source = 0.)
      allocate (latq(mhru), source = 0.)
      allocate (ndeat(mhru), source = 0)
      allocate (nplnt(mhru), source = 0.)
      allocate (orgn_con(mhru), source = 0.)
      allocate (orgp_con(mhru), source = 0.)
      allocate (ovrlnd(mhru), source = 0.)
      allocate (phubase(mhru), source = 0.)

      allocate (pplnt(mhru), source = 0.)
      allocate (qdr(mhru), source = 0.)

      allocate (gwsoilq(mhru), source = 0.)  !rtb gwflow


      allocate (satexq(mhru), source = 0.)  !rtb gwflow


      allocate (gwsoiln(mhru), source = 0.)  !rtb gwflow


      allocate (gwsoilp(mhru), source = 0.)  !rtb gwflow


      allocate (satexn(mhru), source = 0.)  !rtb gwflow


      
!    Drainmod tile equations  01/2006 
   allocate (sstmaxd(mhru), source = 0.)
!    Drainmod tile equations  01/2006 
      allocate (sedminpa(mhru), source = 0.)
      allocate (sedminps(mhru), source = 0.)
      allocate (sedorgn(mhru), source = 0.)
      allocate (sedorgp(mhru), source = 0.)
      allocate (sedyld(mhru), source = 0.)

      allocate (sanyld(mhru), source = 0.)
      allocate (silyld(mhru), source = 0.)
      allocate (clayld(mhru), source = 0.)
      allocate (sagyld(mhru), source = 0.)
      allocate (lagyld(mhru), source = 0.)
      allocate (grayld(mhru), source = 0.)
      allocate (sed_con(mhru), source = 0.)
      allocate (sepbtm(mhru), source = 0.)
      allocate (smx(mhru), source = 0.)
      allocate (soln_con(mhru), source = 0.)
      allocate (solp_con(mhru), source = 0.)
!!    Drainmod tile equations  01/2006 
   allocate (stmaxd(mhru), source = 0.)
      allocate (itill(mhru), source = 0)
      allocate (surfq(mhru), source = 0.)
      allocate (surqno3(mhru), source = 0.)
      allocate (surqsolp(mhru), source = 0.)
      allocate (swtrg(mhru), source = 0)
      allocate (rateinf_prev(mhru), source = 0.)
      allocate (urb_abstinit(mhru), source = 0.)
      allocate (t_ov(mhru), source = 0.)
      allocate (tconc(mhru), source = 0.)
      allocate (tc_gwat(mhru), source = 0.)
      allocate (tileno3(mhru), source = 0.)
      allocate (twash(mhru), source = 0.)
      allocate (usle_cfac(mhru), source = 0.)
      allocate (usle_eifac(mhru), source = 0.)
      allocate (wfsh(mhru), source = 0.)
      !rtb salt
      allocate (surqsalt(mhru,8), source = 0.)
      allocate (latqsalt(mhru,8), source = 0.)
      allocate (tilesalt(mhru,8), source = 0.)
      allocate (percsalt(mhru,8), source = 0.)
      allocate (gwupsalt(mhru,8), source = 0.)
      allocate (urbqsalt(mhru,8), source = 0.)
      allocate (wetqsalt(mhru,8), source = 0.)
      allocate (wtspsalt(mhru,8), source = 0.)
      !rtb cs
      allocate (surqcs(mhru,10), source = 0.)
      allocate (latqcs(mhru,10), source = 0.)
      allocate (tilecs(mhru,10), source = 0.)
      allocate (perccs(mhru,10), source = 0.)
      allocate (gwupcs(mhru,10), source = 0.)
      allocate (sedmcs(mhru,10), source = 0.)
      allocate (urbqcs(mhru,10), source = 0.)
      allocate (wetqcs(mhru,10), source = 0.)
      allocate (wtspcs(mhru,10), source = 0.)
      allocate (irswcs(mhru,10), source = 0.)
      allocate (irgwcs(mhru,10), source = 0.)
      
      allocate (bss(40,mhru), source = 0.)  !rtb salt/cs (changed to 40)


      allocate (bss_ex(10,mhru), source = 0.)  !rtb gwflow


      allocate (wrt(2,mhru), source = 0.)
      allocate (surf_bs(55,mhru), source = 0.)  !rtb salt/cs (changed to 55)



!! sj aug 09 end
   allocate (hhsurf_bs(2,mhru,time%step), source = 0.)
      allocate (ubnrunoff(time%step), source = 0.)
      allocate (ubntss(time%step), source = 0.)

!! Arrays for subdaily erosion modeling by Jaehak Jeong
   allocate (hhsedy(mhru,time%step), source = 0.)
   allocate (ovrlnd_dt(mhru,time%step), source = 0.)
   allocate (init_abstrc(mhru), source = 0.)
   allocate (hhsurfq(mhru,time%step), source = 0.)

       !Tillage factor on SOM decomposition
       allocate (tillage_switch(mhru), source = 0)
       allocate (tillage_depth(mhru), source = 0.)
       allocate (tillage_days(mhru), source = 0)
       allocate (tillage_factor(mhru), source = 0.)
       
       tillage_switch = 0
       tillage_depth = 0.
       tillage_days = 0
       tillage_factor = 0.
       
      !! By Zhang for C/N cycling
      !! ============================
          
      call zero0
      call zero1
      call zero2
      call zeroini

!!    zero reservoir module
      return
      end