-
Notifications
You must be signed in to change notification settings - Fork 0
/
h2omgt_init.f
78 lines (65 loc) · 3.52 KB
/
h2omgt_init.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
subroutine h2omgt_init
!! ~ ~ ~ PURPOSE ~ ~ ~
!! This subroutine initializes variables related to water management
!! (irrigation, consumptive water use, etc.)
!! ~ ~ ~ INCOMING VARIABLES ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! divmax(:) |mm H2O or |maximum daily irrigation diversion from the
!! | 10**4 m H2O|reach (when IRR=3): when value is positive,
!! |the units are mm H2O; when the value is
!! |negative, the units are (10**4 m H2O)
!! hru_fr(:) |km2/km2 |fraction of subbasin area contained in HRU
!! nhru |none |number of HRUs in watershed
!! sol_sumfc(:)|mm H2O |amount of water held in soil profile at
!! |field capacity
!! sub_fr(:) |km2/km2 |fraction of total watershed area contained
!! |in subbasin
!! wudeep(:,:) |10^4 m^3/day |average daily water removal from the deep
!! |aquifer for the month
!! wupnd(:,:) |10^4 m^3/day |average daily water removal from the pond
!! |for the month
!! wushal(:,:) |10^4 m^3/day |average daily water removal from the shallow
!! |aquifer for the month
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ OUTGOING VARIABLES ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! divmax(:) |mm H2O or |maximum daily irrigation diversion from the
!! | 10**4 m H2O|reach (when IRR=3): when value is positive,
!! |the units are mm H2O; when the value is
!! |negative, the units are (10**4 m H2O)
!! wudeep(:,:) |10^4 m^3/day |average daily water removal from the deep
!! |aquifer for the month for the HRU within the
!! |subbasin
!! wupnd(:,:) |10^4 m^3/day |average daily water removal from the pond
!! |for the month for the HRU within the subbasin
!! wushal(:,:) |10^4 m^3/day |average daily water removal from the shallow
!! |aquifer for the month for the HRU within the
!! |subbasin
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ LOCAL DEFINITIONS ~ ~ ~
!! name |units |definition
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! j |none |counter
!! mon |none |counter
!! ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
!! ~ ~ ~ ~ ~ ~ END SPECIFICATIONS ~ ~ ~ ~ ~ ~
use parm
integer :: j, mon
!! partition subbasin consumptive water use between HRUs within subbasin
do j = 1, nhru
do mon = 1,12
wupnd(mon,j) = wupnd(mon,j) * hru_fr(j)
wushal(mon,j) = wushal(mon,j) * hru_fr(j)
wudeep(mon,j) = wudeep(mon,j) * hru_fr(j)
end do
end do
!! initialize maximum irrigation diversion if user did not enter
do j = 1, nhru
if (divmax(j) < 1.e-6 .and. divmax(j) > -1.e-6) then
divmax(j) = sol_sumfc(j)
endif
end do
return
end