📄 allocate_parms.f
字号:
subroutine allocate_parms
!! ~ ~ ~ PURPOSE ~ ~ ~
!! this subroutine allocates array sizes
!! ~ ~ ~ INCOMING VARIABLES ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! mapp |none |max number of applications
!! mch |none |max number of channels
!! mcr |none |max number of crops grown per year
!! mcrdb |none |max nunber of crops in crop.dat
!! mcut |none |max number of cuttings per year
!! mfdb |none |max number of fertilizers in fert.dat
!! mgr |none |max number of grazings per year
!! mhru |none |max number of HRUs
!! mhyd |none |max number of hydrographs
!! mlyr |none |max number of soil layers
!! mnr |none |max number of years of rotation
!! mpst |none |max number of pesticides used in wshed
!! mpdb |none |max number of pesticides in pest.dat
!! mrecc |none |max number of reccnst files
!! mrecd |none |max number of recday files
!! mrech |none |max number of rechour files
!! mrecm |none |max number of recmon files
!! mrecy |none |max number of recyear files
!! mres |none |max number of reservoirs
!! mrg |none |max number of rainfall/temp gages
!! mstep |none |max number of time steps per day
!! msub |none |max number of subbasins
!! mtil |none |max number of tillage types in till.dat
!! mudb |none |max number of urban land types in urban.dat
!! myr |none |max number of years of simulation
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ OUTGOING VARIABLES ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! mhruo |none |max number of variables in output.hru
!! mrcho |none |max number of variables in reach file
!! mstdo |none |max number of variables summarized in
!! |output.std
!! msubo |none |max number of variables in output.sub
!! mvaro |none |max number of variables routed through the
!! |reach
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ ~ ~ ~ END SPECIFICATIONS ~ ~ ~ ~ ~ ~
use parm
!! initialize variables
mvaro = 33
mhruo = 68
mrcho = 42
msubo = 18
mstdo = 112
!! arrays which contain data related to the number of rechour commands
allocate (ifirsthr(mrech))
!! arrays which contain data related to the number of recday commands
allocate (ifirstr(mrecd))
!! arrays which contain data related to the date
allocate (values(8))
!! arrays which contain data related to rainfall/temperature gages
allocate (elevp(mrg))
allocate (elevt(mrg))
allocate (ifirstpcp(mrg))
allocate (ifirstt(mrg))
!! arrays which contain data related to channels
allocate (algae(mch))
allocate (alpha_bnk(msub))
allocate (alpha_bnke(msub))
allocate (ammonian(mch))
allocate (bankst(mch))
allocate (bc1(mch))
allocate (bc2(mch))
allocate (bc3(mch))
allocate (bc4(mch))
allocate (ch_cov(mch))
allocate (ch_d(msub))
allocate (ch_di(mch))
allocate (ch_erod(mch))
allocate (ch_l2(msub))
allocate (ch_li(mch))
allocate (ch_si(mch))
allocate (ch_wdr(mch))
allocate (ch_wi(mch))
allocate (chlora(mch))
allocate (chpst_conc(mch))
allocate (chpst_koc(mch))
allocate (chpst_mix(mch))
allocate (chpst_rea(mch))
allocate (chpst_rsp(mch))
allocate (chpst_stl(mch))
allocate (chpst_vol(mch))
allocate (chside(mch))
allocate (disolvp(mch))
allocate (drift(mch))
allocate (flwin(mch))
allocate (flwout(mch))
allocate (icanal(mch))
allocate (nitraten(mch))
allocate (nitriten(mch))
allocate (organicn(mch))
allocate (organicp(mch))
allocate (orig_sedpstconc(mch))
allocate (rch_bactlp(mch))
allocate (rch_bactp(mch))
allocate (rch_cbod(mch))
allocate (rch_dox(mch))
allocate (rchstor(mch))
allocate (rk1(mch))
allocate (rk2(mch))
allocate (rk3(mch))
allocate (rk4(mch))
allocate (rk5(mch))
allocate (rk6(mch))
allocate (rs1(mch))
allocate (rs2(mch))
allocate (rs3(mch))
allocate (rs4(mch))
allocate (rs5(mch))
allocate (rs6(mch))
allocate (rs7(mch))
allocate (sedpst_act(mch))
allocate (sedpst_bry(mch))
allocate (sedpst_conc(mch))
allocate (sedpst_rea(mch))
allocate (sedst(mch))
allocate (vel_chan(mch))
allocate (wurch(12,msub))
!! arrays which contain data related to reach output
allocate (icolr(mrcho))
allocate (ipdvar(mrcho))
allocate (rchaao(mrcho,msub))
allocate (rchdy(mrcho,msub))
allocate (rchmono(mrcho,msub))
allocate (rchyro(mrcho,msub))
!! arrays which contain data related to subbasins
allocate (ch_revap(msub))
allocate (co2(msub))
allocate (daylmn(msub))
allocate (fcst_reg(msub))
allocate (harg_petco(msub))
allocate (hqd(73))
allocate (hqdsave(49))
allocate (hru1(msub))
allocate (hrutot(msub))
allocate (ihgage(msub))
allocate (ireg(msub))
allocate (irgage(msub))
allocate (isgage(msub))
allocate (itb(msub))
allocate (itgage(msub))
allocate (iwgage(msub))
allocate (latcos(msub))
allocate (latsin(msub))
allocate (pcpdays(msub))
allocate (phutot(msub))
allocate (plaps(msub))
allocate (rammo_sub(msub))
allocate (rcn_sub(msub))
allocate (sub_bactlp(msub))
allocate (sub_bactp(msub))
allocate (sub_bd(msub))
allocate (sub_cbod(msub))
allocate (sub_chl(msub))
allocate (sub_dox(msub))
allocate (sub_elev(msub))
allocate (sub_etday(msub))
allocate (sub_fr(msub))
allocate (sub_gwno3(msub))
allocate (sub_gwsolp(msub))
allocate (sub_gwq(msub))
allocate (sub_km(msub))
allocate (sub_lat(msub))
allocate (sub_latq(msub))
allocate (sub_latno3(msub))
allocate (sub_minp(msub))
allocate (sub_minpa(msub))
allocate (sub_minps(msub))
allocate (sub_no3(msub))
allocate (sub_orgn(msub))
allocate (sub_orgp(msub))
allocate (sub_pet(msub))
allocate (sub_precip(msub))
allocate (sub_qd(msub))
allocate (sub_sedpa(msub))
allocate (sub_sedps(msub))
allocate (sub_sedy(msub))
allocate (sub_sep(msub))
allocate (sub_snom(msub))
allocate (sub_solp(msub))
allocate (sub_solpst(msub))
allocate (sub_sorpst(msub))
allocate (sub_subp(msub))
allocate (sub_sumfc(msub))
allocate (sub_surfq(msub))
allocate (sub_sw(msub))
allocate (sub_tc(msub))
allocate (sub_tran(msub))
allocate (sub_wtmp(msub))
allocate (sub_wyld(msub))
allocate (sub_yorgn(msub))
allocate (sub_yorgp(msub))
allocate (subfr_nowtr(msub))
allocate (subgis(msub))
allocate (tlaps(msub))
allocate (tmp_an(msub))
allocate (wcklsp(msub))
allocate (welev(msub))
allocate (wlat(msub))
allocate (sub_pst(mpst,msub))
allocate (huminc(msub,12))
allocate (radinc(msub,12))
allocate (rfinc(msub,12))
allocate (tmpinc(msub,12))
allocate (sub_hhqd(msub,24))
allocate (sub_hhwtmp(msub,24))
allocate (uh(msub,49))
allocate (ch_k(2,msub))
allocate (ch_n(2,msub))
allocate (ch_s(2,msub))
allocate (ch_w(2,msub))
allocate (elevb(10,msub))
allocate (elevb_fr(10,msub))
allocate (amp_r(12,msub))
allocate (dewpt(12,msub))
allocate (pcf(12,msub))
allocate (solarav(12,msub))
allocate (tmpmn(12,msub))
allocate (tmpmx(12,msub))
allocate (tmpstdmn(12,msub))
allocate (tmpstdmx(12,msub))
allocate (wndav(12,msub))
allocate (pcp_stat(12,3,msub))
allocate (pr_w(3,12,msub))
!! arrays which contain data related to forecast parameters
allocate (ftmpmn(12,msub))
allocate (ftmpmx(12,msub))
allocate (ftmpstdmn(12,msub))
allocate (ftmpstdmx(12,msub))
allocate (fpcp_stat(12,3,msub))
allocate (fpr_w(3,12,msub))
allocate (otmpmn(12,msub))
allocate (otmpmx(12,msub))
allocate (otmpstdmn(12,msub))
allocate (otmpstdmx(12,msub))
allocate (opcp_stat(12,3,msub))
allocate (opr_w(3,12,msub))
!! arrays which contain data related to subbasin output
allocate (submono(msubo,msub))
allocate (subaao(msubo,msub))
allocate (subyro(msubo,msub))
allocate (ipdvab(msubo))
allocate (icolb(msubo))
!! arrays which contain data related to soil layers, HRUs
allocate (conv_wt(mlyr,mhru))
allocate (crdep(mlyr,mhru))
allocate (flat(mlyr,mhru))
allocate (orig_solactp(mlyr,mhru))
allocate (orig_solaorgn(mlyr,mhru))
allocate (orig_solfon(mlyr,mhru))
allocate (orig_solfop(mlyr,mhru))
allocate (orig_solno3(mlyr,mhru))
allocate (orig_solorgn(mlyr,mhru))
allocate (orig_solorgp(mlyr,mhru))
allocate (orig_solrsd(mlyr,mhru))
allocate (orig_solsolp(mlyr,mhru))
allocate (orig_solst(mlyr,mhru))
allocate (orig_solstap(mlyr,mhru))
allocate (orig_soltmp(mlyr,mhru))
allocate (orig_volcr(mlyr,mhru))
allocate (sol_actp(mlyr,mhru))
allocate (sol_aorgn(mlyr,mhru))
allocate (sol_awc(mlyr,mhru))
allocate (sol_bd(mlyr,mhru))
allocate (sol_cbn(mlyr,mhru))
allocate (sol_clay(mlyr,mhru))
allocate (sol_fc(mlyr,mhru))
allocate (sol_fon(mlyr,mhru))
allocate (sol_fop(mlyr,mhru))
allocate (sol_hk(mlyr,mhru))
allocate (sol_hum(mlyr,mhru))
allocate (sol_k(mlyr,mhru))
allocate (sol_nh3(mlyr,mhru))
allocate (sol_no3(mlyr,mhru))
allocate (sol_orgn(mlyr,mhru))
allocate (sol_orgp(mlyr,mhru))
allocate (sol_por(mlyr,mhru))
allocate (sol_prk(mlyr,mhru))
allocate (sol_rsd(mlyr,mhru))
allocate (sol_solp(mlyr,mhru))
allocate (sol_st(mlyr,mhru))
allocate (sol_stap(mlyr,mhru))
allocate (sol_tmp(mlyr,mhru))
allocate (sol_ul(mlyr,mhru))
allocate (sol_up(mlyr,mhru))
allocate (sol_wp(mlyr,mhru))
allocate (sol_wpmm(mlyr,mhru))
allocate (sol_z(mlyr,mhru))
allocate (volcr(mlyr,mhru))
!! arrays which contain data related to soil layers, HRUs, pesticides
allocate (orig_solpst(mpst,mhru,mlyr))
allocate (sol_kp(mpst,mhru,mlyr))
allocate (sol_pst(mpst,mhru,mlyr))
!! arrays which contain data related to reservoirs
allocate (br1(mres))
allocate (br2(mres))
allocate (chlar(mres))
allocate (evrsv(mres))
allocate (iflod1r(mres))
allocate (iflod2r(mres))
allocate (ires1(mres))
allocate (ires2(mres))
allocate (iresco(mres))
allocate (iyres(mres))
allocate (lkpst_conc(mres))
allocate (lkpst_koc(mres))
allocate (lkpst_mix(mres))
allocate (lkpst_rea(mres))
allocate (lkpst_rsp(mres))
allocate (lkpst_stl(mres))
allocate (lkpst_vol(mres))
allocate (lkspst_act(mres))
allocate (lkspst_bry(mres))
allocate (lkspst_conc(mres))
allocate (lkspst_rea(mres))
allocate (mores(mres))
allocate (ndtargr(mres))
allocate (orig_lkpstconc(mres))
allocate (orig_lkspstconc(mres))
allocate (orig_resnh3(mres))
allocate (orig_resno2(mres))
allocate (orig_resno3(mres))
allocate (orig_resorgn(mres))
allocate (orig_resorgp(mres))
allocate (orig_ressed(mres))
allocate (orig_ressolp(mres))
allocate (orig_resvol(mres))
allocate (res_bactlp(mres))
allocate (res_bactp(mres))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -