-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmanure_demand_output.f90
124 lines (101 loc) · 5.86 KB
/
manure_demand_output.f90
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
subroutine manure_demand_output (imallo)
use time_module
use hydrograph_module
use manure_allocation_module
implicit none
integer, intent (in) :: imallo ! |
integer :: idmd
integer :: isrc
!! loop through and print each demand object
do idmd = 1, mallo(imallo)%dmd_obs
!! sum output (demand, withdrawals, and unmet) for each source
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr_m(isrc) = mallo(imallo)%dmd(idmd)%withdr_m(isrc) + &
mallo(imallo)%dmd(idmd)%withdr(isrc)
end do
!!!!! daily print
if (pco%water_allo%d == "y") then
write (3210,100) time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr(isrc), &
isrc = 1, mallo(imallo)%src_obs)
if (pco%csvout == "y") then
write (3211,'(*(G0.3,:","))') time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr(isrc), &
isrc = 1, mallo(imallo)%src_obs)
end if
end if
!! zero daily values
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr(isrc) = 0.
end do
!!!!! monthly print
if (time%end_mo == 1) then
!! sum output (demand, withdrawals, and unmet) for each source
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr_y(isrc) = mallo(imallo)%dmd(idmd)%withdr_y(isrc) + &
mallo(imallo)%dmd(idmd)%withdr_m(isrc)
end do
if (pco%water_allo%m == "y") then
write (3212,100) time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr_m(isrc), &
isrc = 1, mallo(imallo)%src_obs)
if (pco%csvout == "y") then
write (3213,'(*(G0.3,:","))') time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr_m(isrc), &
isrc = 1, mallo(imallo)%src_obs)
end if
end if
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr_m(isrc) = 0.
end do
end if
!!!!! yearly print
if (time%end_yr == 1) then
!! sum output (demand, withdrawals, and unmet) for each source
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr_a(isrc) = mallo(imallo)%dmd(idmd)%withdr_a(isrc) + &
mallo(imallo)%dmd(idmd)%withdr_y(isrc)
end do
if (pco%water_allo%y == "y") then
write (3214,100) time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr_y(isrc), &
isrc = 1, mallo(imallo)%src_obs)
if (pco%csvout == "y") then
write (3215,'(*(G0.3,:","))') time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr_y(isrc), &
isrc = 1, mallo(imallo)%src_obs)
end if
end if
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr_y(isrc) = 0.
end do
end if
!!!!! average annual print
if (time%end_sim == 1) then
!! sum output (demand, withdrawals, and unmet) for each source
do isrc = 1, mallo(imallo)%src_obs
mallo(imallo)%dmd(idmd)%withdr_a(isrc) = mallo(imallo)%dmd(idmd)%withdr_a(isrc) / time%yrs_prt
end do
if (pco%water_allo%a == "y") then
write (3216,100) time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr_a(isrc), &
isrc = 1, mallo(imallo)%src_obs)
if (pco%csvout == "y") then
write (3217,'(*(G0.3,:","))') time%day, time%mo, time%day_mo, time%yrc, idmd, mallo(imallo)%dmd(idmd)%ob_typ, &
mallo(imallo)%dmd(idmd)%ob_num, (mallo(imallo)%src(isrc)%num, mallo(imallo)%src(isrc)%mois_typ, &
mallo(imallo)%src(isrc)%manure_typ, mallo(imallo)%dmd(idmd)%withdr_a(isrc), &
isrc = 1, mallo(imallo)%src_obs)
end if
end if
end if
end do ! do idmd = 1, mallo(imallo)%dmd_obs
return
100 format (4i6,i8,5x,a,5x,i8,5x,i8,3(7x,a,5x,i8,3f15.1))
end subroutine manure_demand_output