@@ -11,7 +11,6 @@ Transpiration
11
11
" Initial soil water"
12
12
iSW => 200 ~ preserve (parameter, u " mm" )
13
13
14
-
15
14
" Maximum soil water/saturation"
16
15
soil_saturation => 500 ~ preserve (parameter, u " mm" )
17
16
@@ -24,8 +23,8 @@ Transpiration
24
23
# soil_table[soil_class].wilting_point
25
24
end ~ preserve (parameter, u " mm" )
26
25
27
- " Irrigation"
28
- irrigation => 0 ~ preserve (parameter, u " mm/hr" )
26
+ # "Irrigation"
27
+ # irrigation => 0 ~ preserve(parameter, u"mm/hr")
29
28
30
29
# "Maximum available soil water"
31
30
# maxASW => 200 ~ preserve(parameter, u"mm") # (Field capacity - Wilting point) * depth
@@ -34,10 +33,6 @@ Transpiration
34
33
# "Minimum available soil water"
35
34
# minASW => 0 ~ preserve(parameter, u"mm") # need to be updated based on VWC by soil types
36
35
37
- # "Irrigation"
38
- # irrigation => 0 ~ preserve(parameter, u"mm/hr")
39
-
40
-
41
36
" Fraction of excess water pooled"
42
37
pool_fraction => 0 ~ preserve (parameter)
43
38
@@ -61,11 +56,8 @@ Transpiration
61
56
# ((Int(soil_class) > 0) ? (11 - 2 * Int(c)) : (SWpower0))
62
57
# end ~ preserve
63
58
64
- # ##
65
- field_capacity (soil_saturation) => 327 ~ preserve (u " mm" )
66
-
67
- # fc => 0.5 ~ preserve(parameter)
68
- # field_capacity(fc, maxASW, minASW) => fc * (maxASW + minASW) ~ preserve(u"mm")
59
+ fc => 0.5 ~ preserve (parameter)
60
+ field_capacity (fc, soil_saturation, minSW) => fc * (soil_saturation + minSW) ~ preserve (u " mm" )
69
61
70
62
71
63
" Proportion of rain intercepted"
@@ -105,19 +97,15 @@ Transpiration
105
97
end ~ track (u " mm/hr" )
106
98
107
99
# ##
108
- # dSW(dPool, evapotranspiration#=, irrigation=#, rain) => begin
109
- # -dPool - evapotranspiration#= + irrigation=# + rain
110
-
111
- " Hourly change in avilable soil water"
112
- dASW (dPool, evapotranspiration, irrigation, rain) => begin
100
+ dSW (dPool, evapotranspiration, irrigation, rain) => begin
113
101
- dPool - evapotranspiration + irrigation + rain
114
102
end ~ track (u " mm/hr" )
115
103
116
104
flag_transpiration (transpiration) => transpiration > 0 u " mm/hr" ~ flag
117
105
118
106
" Production modifier for GPP"
119
107
transpScaleFactor (evapotranspiration, transpiration, rainInterception) => begin
120
- evapotranspiration / (transpiration + rainInterception)
108
+ evapotranspiration / (transpiration + rainInterception) # actual / potential
121
109
end ~ track (when= flag_transpiration, init= 1 )
122
110
123
111
SW (dSW) ~ accumulate (u " mm" , init= iSW, min= minSW, max= soil_saturation)
@@ -131,33 +119,33 @@ Transpiration
131
119
132
120
" Irrigation based on profiling VWC for Slit Loam"
133
121
soil_depth => 2000 ~ preserve (parameter, u " mm" ) # Poplar rooting depth; soil depth for water balance
134
- SLs => 0.486 ~ preserve (parameter) # Slit Loam - Saturated volumetric water content
135
- SLr => 0.05 ~ preserve (parameter) # Slit Loam - Residual volumetric water content
122
+ SLs => 0.486 ~ preserve (parameter) # Silt Loam - Saturated volumetric water content
123
+ SLr => 0.05 ~ preserve (parameter) # Silt Loam - Residual volumetric water content
136
124
137
- VWC (ASW , soil_depth) => begin
138
- ASW / soil_depth
125
+ VWC (SW , soil_depth) => begin
126
+ SW / soil_depth
139
127
end ~ track (max = SLs)
140
128
141
129
" Calculate related water content"
142
130
RWC (SLs, SLr, VWC) => begin
143
131
(VWC - SLr) / (SLs - SLr)
144
132
end ~ track
145
133
146
- " Field capacity as VWC"
147
- FC => 0.330 ~ preserve (parameter) # Field capacity for Slit Loam
134
+ # "Field capacity as VWC"
135
+ # FC => 0.330 ~ preserve(parameter) # Field capacity for Slit Loam
148
136
# FC(field_capacity, soil_depth) => begin
149
137
# (field_capacity / soil_depth)
150
138
# end~ track
151
139
152
- " wilting point as VWC"
153
- WP => 0.133 ~ preserve (parameter) # Wilting point for Slit Loam
140
+ # "wilting point as VWC"
141
+ # WP => 0.133 ~ preserve(parameter) # Wilting point for Slit Loam
154
142
# WP(wilting_point, soil_depth) => begin
155
143
# (field_capacity / soil_depth)
156
144
# end~ track
157
145
158
146
" Irrigation control parameters"
159
- irrigation_start => 0.133 ~ preserve (parameter) # Irrigation start point VWC- wilting point
160
- irrigation_end => 0.330 ~ preserve (parameter) # Irrigation end point VWC - field capacity
147
+ irrigation_start (WP, soil_depth) => WP / soil_depth ~ preserve (parameter) # Irrigation start point VWC- wilting point
148
+ irrigation_end (field_capacity, soil_depth) => field_capacity / soil_depth ~ preserve (parameter) # Irrigation end point VWC - field capacity
161
149
irrigation_rate => 0.5 ~ preserve (parameter, u " mm/hr" ) # Irrigation rate mm/hr
162
150
163
151
" Update irrigation status based on VWC"
@@ -170,6 +158,4 @@ Transpiration
170
158
irrigation_rate
171
159
end
172
160
end ~ track (u " mm/hr" )
173
-
174
-
175
161
end
0 commit comments