📄 wetlan.f
字号:
subroutine wetlan
!! ~ ~ ~ PURPOSE ~ ~ ~
!! this subroutine simulates wetlands
!! ~ ~ ~ INCOMING VARIABLES ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! bw1(:) |none |1st shape parameter for wetland surface area
!! |equation
!! bw2(:) |none |2nd shape parameter for the wetland surface
!! |area equation
!! chlaw(:) |none |chlorophyll-a production coefficient for
!! |wetland
!! hru_dafr(:) |none |fraction of watershed area in HRU
!! hru_ha(:) |ha |area of HRU in hectares
!! ihru |none |HRU number
!! ipnd1(:) |none |beginning month of 2nd "season" of nutrient
!! |settling
!! ipnd2(:) |none |ending month of 2nd "season" of nutrient
!! |settling
!! minpgw(:) |kg P/ha |soluble P loading to reach in groundwater
!! no3gw(:) |kg N/ha |nitrate loading to reach in groundwater
!! nsetlw(1,:) |m/day |nitrogen settling rate for 1st season
!! nsetlw(2,:) |m/day |nitrogen settling rate for 2nd season
!! pet_day |mm H2O |potential evapotranspiration for day in HRU
!! psetlw(1,:) |m/day |phosphorus settling rate for 1st season
!! psetlw(2,:) |m/day |phosphorus settling rate for 2nd season
!! qdr(:) |mm H2O |net water loading from HRU to main channel
!! secciw(:) |none |water clarity coefficient for wetland
!! sed_stl(:) |kg/kg |fraction of sediment remaining suspended in
!! |impoundment after settling for one day
!! sedminpa(:) |kg P/ha |amount of active mineral phosphorus sorbed to
!! |sediment in surface runoff in HRU for day
!! sedminps(:) |kg P/ha |amount of stable mineral phosphorus sorbed to
!! |sediment in surface runoff in HRU for day
!! sedorgn(:) |kg N/ha |amount of organic nitrogen in surface runoff
!! |in HRU for the day
!! sedorgp(:) |kg P/ha |amount of organic phosphorus in surface runoff
!! |in HRU for the day
!! sedyld(:) |metric tons |daily soil loss caused by water erosion in HRU
!! shallst(:) |mm H2O |depth of water in shallow aquifer
!! subp(:) |mm H2O |precipitation for the day in HRU
!! surqno3(:) |kg N/ha |amount of NO3-N in surface runoff in HRU for
!! |the day
!! surqsolp(:) |kg P/ha |amount of soluble phosphorus in surface runoff
!! |in HRU for the day
!! wet_fr(:) |none |fraction of HRU/subbasin area that drains
!! |into wetlands
!! wet_k(:) |mm/hr |hydraulic conductivity of bottom of wetlands
!! wet_mxvol(:)|m^3 H2O |volume of water required to fill wetlands to
!! |maximum water level
!! wet_no3(:) |kg N |amount of nitrate originating from surface
!! |runoff in wetland at beginning of day
!! wet_no3g(:) |kg N |amount of nitrate originating from
!! |groundwater in wetland at beginning of day
!! wet_no3s(:) |kg N |amount of nitrate originating from lateral
!! |flow in wetland at beginning of day
!! wet_nsed(:) |kg/L |normal sediment concentration in wetland water
!! wet_nvol(:) |m^3 H2O |volume of water needed to
!! |fill wetlands to normal water level
!! wet_orgn(:) |kg N |amount of organic N originating from
!! |surface runoff in wetland at beginning of day
!! wet_orgp(:) |kg P |amount of organic P originating from
!! |surface runoff in wetland at beginning of day
!! wet_psed(:) |kg P |amount of mineral P attached to sediment
!! |originating from surface runoff in wetland at
!! |beginning of day
!! wet_sed(:) |kg/L |sediment concentration in wetland water
!! wet_solp(:) |kg P |amount of soluble P originating from surface
!! |runoff in wetland at beginning of day
!! wet_solpg(:)|kg P |amount of soluble P originating from
!! |groundwater in wetland at beginning of day
!! wet_vol(:) |m^3 H2O |volume of water in wetlands
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ OUTGOING VARIABLES ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! qdr(:) |mm H2O |net water loading from HRU to main channel
!! sedyld(:) |metric tons |daily soil loss caused by water erosion in HRU
!! shallst(:) |mm H2O |depth of water in shallow aquifer
!! twlwet |mm H2O |water lost through seepage from wetlands on
!! |day in HRU
!! wet_chla(:) |kg chla |amount of chlorophyll-a in wetland at end
!! |of day
!! wet_no3(:) |kg N |amount of nitrate originating from surface
!! |runoff in wetland at end of day
!! wet_no3g(:) |kg N |amount of nitrate originating from
!! |groundwater in wetland at end of day
!! wet_no3s(:) |kg N |amount of nitrate originating from lateral
!! |flow in wetland at end of day
!! wet_orgn(:) |kg N |amount of organic N originating from
!! |surface runoff in wetland at end of day
!! wet_orgp(:) |kg P |amount of organic P originating from
!! |surface runoff in wetland at end of day
!! wet_psed(:) |kg P |amount of mineral P attached to sediment
!! |originating from surface runoff in wetland at
!! |end of day
!! wet_seci(:) |m |secchi-disk depth in wetland at end of day
!! wet_sed(:) |kg/L |sediment concentration in wetland water
!! wet_solp(:) |kg P |amount of soluble P originating from surface
!! |runoff in wetland at end of day
!! wet_solpg(:)|kg P |amount of soluble P originating from
!! |groundwater in wetland at end of day
!! wet_vol(:) |m^3 H2O |volume of water in wetlands
!! wetev |m^3 H2O |evaporation from wetland for day
!! wetflwi |m^3 H2O |volume of water flowing in wetland on day
!! wetflwo |m^3 H2O |volume of water flowing out wetland on day
!! wetpcp |m^3 H2O |precipitation on wetland for day
!! wetsedc |metric tons |net change in sediment in wetland on day
!! wetsedi |metric tons |sediment loading to wetland for day
!! wetsedo |metric tons |sediment loading from wetland for day
!! wetsep |m^3 H2O |seepage from wetland bottom for day
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ LOCAL DEFINITIONS ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! cnv |none |conversion factor (mm/ha => m^3)
!! iseas |none |nutrient settling rate season
!! j |none |HRU number
!! nitrok |none |fraction of nitrogen in wetland removed by
!! |settling
!! phosk |none |fraction of phosphorus in wetland removed by
!! |settling
!! sed |kg/kg |sediment concentration in wetland at beginning
!! |of day
!! tpco |ppb (ug/L) |concentration of phosphorus in pond water
!! |on day
!! vol |m^3 H2O |volume of wetland at beginning of day
!! wetsa |ha |surface area of wetland on current day
!! xx |none |variable to hold intermediate calculation
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ ~ ~ ~ END SPECIFICATIONS ~ ~ ~ ~ ~ ~
use parm
integer :: j, iseas
real :: vol, cnv, sed, wetsa, xx, phosk, nitrok, tpco
j = 0
j = ihru
if (wet_fr(j) > 0.) then
cnv = 0.
cnv = hru_ha(j) * 10. !conversion factor
!! store initial values
vol = 0.
sed = 0.
vol = wet_vol(j)
sed = wet_sed(j)
!! calculate water balance for day
wetsa = 0.
wetsa = bw1(j) * wet_vol(j) ** bw2(j)
wetev = 10. * evwet(j) * pet_day * wetsa
wetsep = wet_k(j) * wetsa * 240.
wetpcp = subp(j) * wetsa * 10.
!! calculate water flowing into wetland from HRU
wetflwi = qdr(j) * 10. * (hru_ha(j) * wet_fr(j) - wetsa)
qdr(j) = qdr(j) - qdr(j) * wet_fr(j)
!! sediment loading to wetland from HRU
wetsedi = sedyld(j) * (wet_fr(j) - (wetsa / hru_ha(j)))
sedyld(j) = sedyld(j) - sedyld(j) * wet_fr(j)
!! compute nitrogen and phosphorus levels in wetland at beginning
!! of day
!! equation 29.1.1 in SWAT manual
xx = 0.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -