Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 18 additions & 15 deletions src/lisflood/hydrological_modules/mct.py
Original file line number Diff line number Diff line change
Expand Up @@ -235,16 +235,16 @@ def MCTRouting_single(
Dm1: Reynolds number at t+1 for state file
"""

eps = 1e-12
eps = 1e-18

# Calc O' first guess for the outflow at time t+dt
# O'(t+dt)=O(t)+(I(t+dt)-I(t))
q11 = q10 + (q01 - q00)

# check for negative and zero discharge values
# zero outflow is not allowed
if q11 < eps: # cmcheck <=0
q11 = eps
if q11 < 0: # cmcheck <=0 #tpk
q11 = 0 #tpk

# calc reference discharge at time t
# qm0 = (I(t)+O(t))/2
Expand All @@ -255,14 +255,14 @@ def MCTRouting_single(

# reference I discharge at x=0
qmx0 = (q00 + q01) / 2.0
if qmx0 < eps: # cmcheck ==0
qmx0 = eps
if qmx0 <= 0 : # cmcheck ==0 #tpk
qmx0 = eps #tpk
hmx0 = hoq(qmx0, s0, Balv, ANalv, Nalv)

# reference O discharge at x=1
qmx1 = (q10 + q11) / 2.0
if qmx1 < eps: # cmcheck ==0
qmx1 = eps
if qmx1 <= 0: # cmcheck ==0 #tpk
qmx1 = eps #tpk
hmx1 = hoq(qmx1, s0, Balv, ANalv, Nalv)

# Calc riverbed slope correction factor
Expand All @@ -275,13 +275,13 @@ def MCTRouting_single(
# Q(t+dt)=(I(t+dt)+O'(t+dt))/2
qm1 = (q01 + q11) / 2.0
# cm
if qm1 < eps: # cmcheck ==0
qm1 = eps
if qm1 <=0 : # cmcheck ==0 #tpk
qm1 = eps #tpk
# cm
hm1 = hoq(qm1, s0, Balv, ANalv, Nalv)
dummy, Ax1, Bx1, Px1, ck1 = qoh(hm1, s0, Balv, ANalv, Nalv)
if ck1 <= eps:
ck1 = eps
if ck1 <= 0: #tpk
ck1 = eps #tpk

# Calc correcting factor Beta at time t+dt
Beta1 = ck1 / (qm1 / Ax1)
Expand All @@ -304,8 +304,8 @@ def MCTRouting_single(
# Mass balance equation that takes into consideration the lateral flow
q11 = c1 * q01 + c2 * q00 + c3 * q10 + c4 * ql

if q11 < eps: # cmcheck <=0
q11 = eps
if q11 < 0: # cmcheck <=0 #tpk
q11 = 0 #tpk

#### end of for loop

Expand All @@ -327,15 +327,18 @@ def MCTRouting_single(
V11 = (1 - Dm1) * dt / (2 * Cm1) * q01 + (1 + Dm1) * dt / (2 * Cm1) * q11
# V11 = k1 * (x1 * q01 + (1. - x1) * q11) # MUST be the same as above!

if V11 < 0 : #tpk
V11 = 0 #tpk

### calc integration on the control volume (pixel)
# calc average discharge outflow q1m for MCT channels during routing sub step dt
# Calculate average outflow using water balance for MCT channel grid cell over sub-routing step
q1mm = q0mm + ql + (V00 - V11) / dt

# cmcheck
# q1m cannot be smaller than eps or it will cause instability
if q1mm < eps:
q1mm = eps
if q1mm < 0: # cmcheck <=0
q1mm = 0
if ql < 0: ql = 0
# prevent water abstraction or open water evaporation from drying out the channel and keep extracting water
# NOTE THIS GENERATES AN ERROR IN THE WATER BALANCE
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
timeseries valuescale.scalar settingsfile: /hdd2/releases/lisflood_newinit/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold.xml_2396b196-4fdd-46e9-b848-44f1d93cf539.xml date: Tue Feb 18 10:12:29 2025
timeseries valuescale.scalar settingsfile: /hdd2/releases/lisflood_mct_optim/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold.xml_6a9f4d79-7d75-4289-8cea-af85fe25faf5.xml date: Tue May 13 10:14:30 2025
2
timestep
1
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
timeseries valuescale.scalar settingsfile: /hdd2/releases/lisflood_newinit/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold.xml_2396b196-4fdd-46e9-b848-44f1d93cf539.xml date: Tue Feb 18 10:12:29 2025
timeseries valuescale.scalar settingsfile: /hdd2/releases/lisflood_mct_optim/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold.xml_6a9f4d79-7d75-4289-8cea-af85fe25faf5.xml date: Tue May 13 10:14:30 2025
2
timestep
1
1 -3.37054e-14
1 -3.37053e-14
2 -1.32494e-12
3 -1.38829e-12
4 -9.89131e-13
Expand All @@ -12,22 +12,22 @@ timestep
8 -2.99594e-13
9 -3.76094e-13
10 -3.03579e-13
11 -3.95174e-13
12 -1.36073e-13
13 -1.0653e-14
11 -3.95342e-13
12 -1.35906e-13
13 -1.06528e-14
14 -1.94534e-13
15 -8.52439e-14
16 -5.58057e-14
15 -8.52438e-14
16 -5.58056e-14
17 -1.7437e-13
18 -1.96512e-13
19 -1.36074e-13
20 -5.45602e-14
21 -5.32811e-15
22 -2.81325e-14
23 -3.28517e-14
24 -9.38018e-14
25 -4.02525e-15
26 -9.41975e-15
20 -5.456e-14
21 -5.33037e-15
22 -2.81326e-14
23 -3.28518e-14
24 -9.38017e-14
25 -4.02533e-15
26 -9.41981e-15
27 -2.39139e-13
28 -5.26573e-14
29 -7.69401e-14
Expand All @@ -45,88 +45,88 @@ timestep
41 -5.88213e-14
42 -1.36983e-14
43 -1.32333e-13
44 -9.87535e-15
45 1.19047e-15
46 1.21322e-15
47 -6.52976e-14
48 -2.95053e-15
49 1.63924e-15
44 -9.87525e-15
45 1.19033e-15
46 1.21316e-15
47 -6.52975e-14
48 -2.95045e-15
49 1.63942e-15
50 -5.2449e-13
51 -1.11854e-12
52 -3.39808e-13
53 -2.41119e-14
53 -2.41118e-14
54 -3.78937e-13
55 -5.11083e-14
56 -5.9629e-14
55 -5.11084e-14
56 -5.96289e-14
57 -2.13975e-14
58 -6.6383e-14
59 -2.81809e-14
60 -3.46947e-14
61 -1.79697e-14
62 -1.78359e-14
63 -1.90658e-15
64 1.06999e-14
58 -6.63831e-14
59 -2.81808e-14
60 -3.46949e-14
61 -1.797e-14
62 -1.78358e-14
63 -1.90652e-15
64 1.06998e-14
65 1.79701e-15
66 8.11971e-17
67 2.04351e-14
68 -1.78249e-15
69 -6.16637e-17
70 5.26172e-15
71 -6.14747e-15
72 2.90998e-15
73 9.79513e-16
74 -6.51149e-18
66 8.11564e-17
67 2.0435e-14
68 -1.78251e-15
69 -6.17857e-17
70 5.26176e-15
71 -6.14743e-15
72 2.91004e-15
73 9.79574e-16
74 -6.45044e-18
75 -4.68116e-15
76 4.2113e-14
77 -1.20588e-15
78 1.82541e-15
76 4.21129e-14
77 -1.20599e-15
78 1.82537e-15
79 3.94545e-14
80 4.48304e-14
81 7.38753e-15
81 7.38757e-15
82 2.14862e-14
83 9.48474e-15
83 9.48476e-15
84 1.36404e-14
85 1.04631e-14
86 1.73854e-14
87 -2.6948e-13
88 -1.14325e-13
89 2.15363e-15
90 2.78516e-15
89 2.15367e-15
90 2.78524e-15
91 -4.07055e-13
92 -3.3033e-13
93 -9.12496e-15
93 -9.125e-15
94 -1.10452e-13
95 -9.31854e-13
96 -1.9436e-13
97 -2.87785e-14
98 -1.05703e-13
99 -6.70956e-13
100 -5.21517e-14
101 5.12152e-15
100 -5.21518e-14
101 5.12143e-15
102 -3.74028e-14
103 -4.42187e-13
104 -1.61996e-13
105 -1.0528e-13
106 -1.53489e-14
107 -2.69861e-13
108 -1.22879e-14
109 8.1004e-15
110 -9.6413e-14
109 8.10034e-15
110 -9.64129e-14
111 -3.13357e-13
112 -2.40642e-13
113 -2.36019e-13
114 -6.21408e-13
113 -2.35851e-13
114 -6.21576e-13
115 -2.68805e-13
116 -3.27102e-13
117 1.17609e-13
118 5.23367e-14
118 5.23368e-14
119 -3.85731e-13
120 -9.90242e-13
121 -6.1785e-15
121 -6.17852e-15
122 -3.83239e-13
123 -1.27888e-12
124 -1.4808e-13
125 -5.81391e-14
125 -5.81392e-14
126 -2.04977e-13
127 -6.45812e-13
128 -1.11325e-13
Expand All @@ -135,50 +135,50 @@ timestep
131 -1.06577e-12
132 -2.95006e-13
133 -4.63459e-14
134 -5.21423e-15
134 -5.21427e-15
135 1.18849e-13
136 1.87372e-13
137 4.61215e-14
138 -5.3374e-15
138 -5.33738e-15
139 -2.6754e-13
140 -1.6855e-14
141 -8.28027e-16
142 -4.19374e-15
141 -8.28047e-16
142 -4.1937e-15
143 -4.63522e-14
144 -1.58898e-13
145 -3.74519e-12
146 -8.37052e-12
147 -7.39028e-12
148 -2.65267e-12
149 -8.95449e-13
149 -8.9545e-13
150 -1.1681e-13
151 -1.11609e-13
151 -1.11608e-13
152 -1.42042e-14
153 -3.58301e-14
154 1.11173e-14
153 -3.583e-14
154 1.11174e-14
155 -3.76738e-12
156 -2.61903e-12
157 -7.01171e-13
158 -3.77244e-14
158 -3.77243e-14
159 -1.06282e-13
160 -8.71817e-15
160 -8.71821e-15
161 1.69776e-15
162 -1.18795e-15
163 -7.26092e-14
164 2.83171e-14
162 -1.18787e-15
163 -7.26091e-14
164 2.8317e-14
165 -1.32426e-13
166 -7.20387e-14
166 -7.20388e-14
167 -2.06376e-12
168 -2.23045e-12
169 -1.04757e-13
170 -4.02667e-14
171 -1.21989e-13
172 3.8711e-14
172 3.87111e-14
173 -8.25853e-13
174 -2.17466e-12
175 -7.92757e-13
176 -2.13762e-13
177 -4.20061e-14
177 -4.20062e-14
178 -1.22735e-14
179 -2.43981e-12
180 -1.23683e-12
Expand All @@ -190,19 +190,19 @@ timestep
186 -9.32656e-13
187 -2.81525e-13
188 -2.244e-13
189 -4.89725e-14
189 -4.89724e-14
190 -1.29701e-13
191 -1.202e-13
192 -1.20909e-14
193 -7.86879e-15
194 -2.62442e-14
193 -7.86875e-15
194 -2.62443e-14
195 -1.77579e-13
196 -2.35794e-14
197 -4.95233e-14
198 8.21599e-16
199 -3.12394e-14
200 -1.13049e-12
201 9.04189e-15
201 9.04184e-15
202 -1.94854e-13
203 -1.60202e-12
204 -3.27914e-13
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
timeseries valuescale.scalar settingsfile: /hdd2/releases/lisflood_newinit/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold.xml_2396b196-4fdd-46e9-b848-44f1d93cf539.xml date: Tue Feb 18 10:12:29 2025
timeseries valuescale.scalar settingsfile: /hdd2/releases/lisflood_mct_optim/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold.xml_6a9f4d79-7d75-4289-8cea-af85fe25faf5.xml date: Tue May 13 10:14:30 2025
31
timestep
334
Expand Down
Loading
Loading