⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sumv.f

📁 水文模型的原始代码
💻 F
📖 第 1 页 / 共 3 页
字号:
!!    wtrmon(18,:)|mm H2O        |water leaving potholes in HRU for month
!!    wtrmon(19,:)|mm H2O        |water entering potholes in HRU for month
!!    wtrmon(20,:)|metric tons/ha|sediment entering potholes in HRU for month
!!    wtrmon(21,:)|metric tons/ha|sediment leaving potholes in HRU for month
!!    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

!!    ~ ~ ~ LOCAL DEFINITIONS ~ ~ ~
!!    name        |units         |definition
!!    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!!    cnv         |none          |conversion factor (mm/ha => m^3)
!!    j           |none          |HRU number
!!    k           |none          |counter (pesticides)
!!    ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

!!    ~ ~ ~ ~ ~ ~ END SPECIFICATIONS ~ ~ ~ ~ ~ ~

      use parm

      integer :: j, k
      real :: cnv

      j = 0
      j = ihru
  
      cnv = 0.
      cnv = 10. * hru_ha(j)

      if (curyr > nyskip) then
      !! HRU summations
        hrumono(1,j) = hrumono(1,j) + subp(j)
        hrumono(2,j) = hrumono(2,j) + snofall
        hrumono(3,j) = hrumono(3,j) + snomlt
        hrumono(4,j) = hrumono(4,j) + qday + tloss
        hrumono(5,j) = hrumono(5,j) + latq(j)
        hrumono(6,j) = hrumono(6,j) + gw_q(j)
        hrumono(7,j) = hrumono(7,j) + revapday
        hrumono(8,j) = hrumono(8,j) + gwseep
        hrumono(9,j) = hrumono(9,j) + rchrg(j)
        hrumono(10,j) = hrumono(10,j) + qdr(j)
        hrumono(11,j) = hrumono(11,j) + sepbtm(j)
        hrumono(12,j) = hrumono(12,j) + etday
        hrumono(13,j) = hrumono(13,j) + tloss
        hrumono(14,j) = hrumono(14,j) + sedyld(j) / hru_ha(j)
        hrumono(15,j) = hrumono(15,j) + ep_day
        hrumono(16,j) = hrumono(16,j) + es_day
        hrumono(17,j) = hrumono(17,j) + cfertn
        hrumono(18,j) = hrumono(18,j) + cfertp
        hrumono(19,j) = hrumono(19,j) + surfq(j)
        hrumono(20,j) = hrumono(20,j) + cnday(j)
        hrumono(21,j) = hrumono(21,j) + sol_cnsw(j)
         !hrumono(22,j) calculated in irrigate.f
        hrumono(23,j) = hrumono(23,j) + shallirr(j)
        hrumono(24,j) = hrumono(24,j) + deepirr(j)
        hrumono(25,j) = hrumono(25,j) + pet_day
        hrumono(26,j) = hrumono(26,j) + grazn
        hrumono(27,j) = hrumono(27,j) + grazp
        hrumono(28,j) = hrumono(28,j) + auton
        hrumono(29,j) = hrumono(29,j) + autop
        hrumono(30,j) = hrumono(30,j) + sol_tmp(2,j)
        hrumono(31,j) = hrumono(31,j) + (1.-strsw(j))
        hrumono(32,j) = hrumono(32,j) + (1.-strstmp(j))
        hrumono(33,j) = hrumono(33,j) + (1.-strsn(j))
        hrumono(34,j) = hrumono(34,j) + (1.-strsp(j))
        hrumono(35,j) = hrumono(35,j) + sedorgn(j)
        hrumono(36,j) = hrumono(36,j) + sedorgp(j)
        hrumono(37,j) = hrumono(37,j) + surqno3(j)
        hrumono(38,j) = hrumono(38,j) + latno3(j)
        hrumono(39,j) = hrumono(39,j) + surqsolp(j)
        hrumono(40,j) = hrumono(40,j) + nplnt(j)
        hrumono(41,j) = hrumono(41,j) + percn(j)
        hrumono(42,j) = hrumono(42,j) + pplnt(j)
        hrumono(43,j) = hrumono(43,j) + rmp1tl
        hrumono(44,j) = hrumono(44,j) + roctl
        hrumono(45,j) = hrumono(45,j) + fertn
        hrumono(46,j) = hrumono(46,j) + fertp
        hrumono(47,j) = hrumono(47,j) + fixn
        hrumono(48,j) = hrumono(48,j) + wdntl
        hrumono(49,j) = hrumono(49,j) + hmntl
        hrumono(50,j) = hrumono(50,j) + rwntl
        hrumono(51,j) = hrumono(51,j) + hmptl
        hrumono(52,j) = hrumono(52,j) + rmn2tl
        hrumono(53,j) = hrumono(53,j) + rmptl
        hrumono(54,j) = hrumono(54,j) + no3pcp
        hrumono(55,j) = hrumono(55,j) + tmx(j)
        hrumono(56,j) = hrumono(56,j) + tmn(j)
        hrumono(57,j) = hrumono(57,j) + tmpav(j)
        hrumono(58,j) = hrumono(58,j) + hru_ra(j)

        hrumono(61,j) = hrumono(61,j) + usle
        hrumono(62,j) = hrumono(62,j) + qtile
        hrumono(63,j) = hrumono(63,j) + bactrop + bactsedp
        hrumono(64,j) = hrumono(64,j) + bactrolp + bactsedlp
        hrumono(65,j) = hrumono(65,j) + no3gw(j)
        hrumono(66,j) = hrumono(66,j) + minpgw(j)
        hrumono(67,j) = hrumono(67,j) + sedminpa(j) + sedminps(j)

        wtrmon(1,j) = wtrmon(1,j) + pndev / cnv
        wtrmon(2,j) = wtrmon(2,j) + pndsep / cnv
        wtrmon(3,j) = wtrmon(3,j) + pndpcp / cnv
        wtrmon(4,j) = wtrmon(4,j) + pndflwi / cnv
        wtrmon(5,j) = wtrmon(5,j) + pndsedin / hru_ha(j)
        wtrmon(6,j) = wtrmon(6,j) + pndflwo / cnv
        wtrmon(7,j) = wtrmon(7,j) + pndsedo / hru_ha(j)
        wtrmon(8,j) = wtrmon(8,j) + wetpcp / cnv
        wtrmon(9,j) = wtrmon(9,j) + wetflwi / cnv
        wtrmon(10,j) = wtrmon(10,j) + wetsedi / hru_ha(j)
        wtrmon(11,j) = wtrmon(11,j) + wetev / cnv
        wtrmon(12,j) = wtrmon(12,j) + wetsep / cnv
        wtrmon(13,j) = wtrmon(13,j) + wetflwo / cnv
        wtrmon(14,j) = wtrmon(14,j) + wetsedo / hru_ha(j)
        wtrmon(15,j) = wtrmon(15,j) + potpcpmm
        wtrmon(16,j) = wtrmon(16,j) + potevmm
        wtrmon(17,j) = wtrmon(17,j) + potsepmm
        wtrmon(18,j) = wtrmon(18,j) + potflwo
        wtrmon(19,j) = wtrmon(19,j) + potflwi(j) / cnv
        wtrmon(20,j) = wtrmon(20,j) + potsedi(j) / hru_ha(j)
        wtrmon(21,j) = wtrmon(21,j) + potsedo / hru_ha(j)

      !! watershed summations
        if (ffcst == 0 .and. iscen == 1) then
        wshddayo(1) = wshddayo(1) + subp(j) * hru_dafr(j)
        wshddayo(3) = wshddayo(3) + (qday + tloss) * hru_dafr(j)
        wshddayo(4) = wshddayo(4) + latq(j) * hru_dafr(j)
        wshddayo(5) = wshddayo(5) + sepbtm(j) * hru_dafr(j)
        wshddayo(6) = wshddayo(6) + qdr(j) * hru_dafr(j)
        wshddayo(7) = wshddayo(7) + etday * hru_dafr(j)
        wshddayo(8) = wshddayo(8) + tmx(j) * hru_dafr(j)
        wshddayo(9) = wshddayo(9) + tmn(j) * hru_dafr(j)
        wshddayo(12) = wshddayo(12) + sedyld(j)
        wshddayo(13) = wshddayo(13) + pndsedin
        wshddayo(14) = wshddayo(14) + pndsedo
        wshddayo(15) = wshddayo(15) + pndsedc
        wshddayo(16) = wshddayo(16) + wetsedi
        wshddayo(17) = wshddayo(17) + wetsedo
        wshddayo(18) = wshddayo(18) + wetsedc
        wshddayo(19) = wshddayo(19) + pndev
        wshddayo(20) = wshddayo(20) + pndsep
        wshddayo(21) = wshddayo(21) + pndpcp
        wshddayo(22) = wshddayo(22) + pndflwi
        wshddayo(23) = wshddayo(23) + pndflwo
        wshddayo(24) = wshddayo(24) + wetev
        wshddayo(25) = wshddayo(25) + wetsep
        wshddayo(26) = wshddayo(26) + wetpcp
        wshddayo(27) = wshddayo(27) + wetflwi
        wshddayo(28) = wshddayo(28) + wetflwo
        wshddayo(33) = wshddayo(33) + pndflwi - pndflwo
        wshddayo(35) = wshddayo(35) + sol_sw(j) * hru_dafr(j)
        wshddayo(36) = wshddayo(36) + snomlt * hru_dafr(j)
        wshddayo(37) = wshddayo(37) + snoev * hru_dafr(j)
        wshddayo(38) = wshddayo(38) + tloss * hru_dafr(j)
        wshddayo(39) = wshddayo(39) + snofall * hru_dafr(j)
        wshddayo(40) = wshddayo(40) + sedorgn(j) * hru_dafr(j)
        wshddayo(41) = wshddayo(41) + sedorgp(j) * hru_dafr(j)
        wshddayo(42) = wshddayo(42) + surqno3(j) * hru_dafr(j)
        wshddayo(43) = wshddayo(43) + surqsolp(j) * hru_dafr(j)
        wshddayo(44) = wshddayo(44) + nplnt(j) * hru_dafr(j)
        wshddayo(45) = wshddayo(45) + latno3(j) * hru_dafr(j)
        wshddayo(46) = wshddayo(46) + percn(j) * hru_dafr(j)

        !! wshddayo(47) - wshddayo (103) not used

        wshddayo(104) = wshddayo(104) + gw_q(j) * hru_dafr(j)
        wshddayo(105) = wshddayo(105) + revapday * hru_dafr(j)
        wshddayo(106) = wshddayo(106) + gwseep * hru_dafr(j)
        wshddayo(107) = wshddayo(107) + rchrg(j) * hru_dafr(j)
        wshddayo(108) = wshddayo(108) + pet_day * hru_dafr(j)
        wshddayo(109) = wshddayo(109) + qtile * hru_dafr(j)
        wshddayo(110) = wshddayo(110) + no3gw(j) * hru_dafr(j)
        else if (ffcst == 1) then
          if (j == 1) fcstcnt = fcstcnt + 1
          fcstaao(1) = fcstaao(1) + subp(j) * hru_dafr(j)
          fcstaao(2) = fcstaao(2) + snofall * hru_dafr(j)
          fcstaao(3) = fcstaao(3) + snomlt * hru_dafr(j)
          fcstaao(4) = fcstaao(4) + snoev * hru_dafr(j)
          fcstaao(5) = fcstaao(5) + (qday + tloss) * hru_dafr(j)
          fcstaao(6) = fcstaao(6) + latq(j) * hru_dafr(j)
          fcstaao(7) = fcstaao(7) + qtile * hru_dafr(j)
          fcstaao(8) = fcstaao(8) + gw_q(j) * hru_dafr(j)
          fcstaao(9) = fcstaao(9) + revapday * hru_dafr(j)
          fcstaao(10) = fcstaao(10) + gwseep * hru_dafr(j)
          fcstaao(11) = fcstaao(11) + rchrg(j) * hru_dafr(j)
          fcstaao(12) = fcstaao(12) + qdr(j) * hru_dafr(j)
          fcstaao(13) = fcstaao(13) + sepbtm(j) * hru_dafr(j)
          fcstaao(14) = fcstaao(14) + etday * hru_dafr(j)
          fcstaao(15) = fcstaao(15) + pet_day * hru_dafr(j)
          fcstaao(16) = fcstaao(16) + tloss * hru_dafr(j)
        end if

        !! pesticide summary
        if (hrupest(j) == 1) then
          do k = 1, npmx
            !! HRU summary
            hrupstd(k,1,j) = pst_surq(k,j) * 1.e6 * hru_ha(j)
            hrupstd(k,2,j) = pst_sed(k,j) * 1.e6 * hru_ha(j)
            hrupstd(k,3,j) = (pst_surq(k,j) + pst_sed(k,j)) * 1.e6
            hrupstd(k,4,j) = lat_pst(k) * 1.e6 * hru_ha(j)
            !! watershed summary
            wpstdayo(k,1) = wpstdayo(k,1) + pst_surq(k,j) * hru_dafr(j) &
     &                                                            * 1.e6
            wpstdayo(k,2) = wpstdayo(k,2) + pst_sed(k,j) * hru_dafr(j) *&
     &                                                              1.e6
            wpstdayo(k,3) = wpstdayo(k,3) + pstsol(k) * hru_dafr(j)
            wpstdayo(k,4) = wpstdayo(k,4) + lat_pst(k) * hru_dafr(j)
          end do
        end if
      end if

      return
      end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -