Skip to content

Commit e052a4a

Browse files
author
Cinzia Mazzetti
committed
Fixing warm start for MCT and updating reference results
2 parents 94d88ab + d5ebb4d commit e052a4a

File tree

333 files changed

+50407
-26051
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

333 files changed

+50407
-26051
lines changed

src/lisflood/global_modules/default_options.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -681,17 +681,17 @@
681681
yearly=False),
682682
'PrevCmMCTEnd': ReportedMap(name='PrevCmMCTEnd', output_var='PrevCm0', unit='-',
683683
end=['repEndMaps'], steps=[], all=[],
684-
restrictoption=[], monthly=False, yearly=False),
684+
restrictoption=['nonInit','MCTRouting'], monthly=False, yearly=False),
685685
'PrevCmMCTState': ReportedMap(name='PrevCmMCTState', output_var='PrevCm0', unit='-',
686686
end=[], steps=['repStateMaps'], all=[],
687-
restrictoption=['nonInit'], monthly=False,
687+
restrictoption=['nonInit','MCTRouting'], monthly=False,
688688
yearly=False),
689689
'PrevDmMCTEnd': ReportedMap(name='PrevDmMCTEnd', output_var='PrevDm0', unit='-',
690690
end=['repEndMaps'], steps=[], all=[],
691-
restrictoption=[], monthly=False, yearly=False),
691+
restrictoption=['nonInit','MCTRouting'], monthly=False, yearly=False),
692692
'PrevDmMCTState': ReportedMap(name='PrevDmMCTState', output_var='PrevDm0', unit='-',
693693
end=[], steps=['repStateMaps'], all=[],
694-
restrictoption=['nonInit'], monthly=False,
694+
restrictoption=['nonInit','MCTRouting'], monthly=False,
695695
yearly=False),
696696
'PolderLevelEnd': ReportedMap(name='PolderLevelEnd', output_var='PolderLevel',
697697
unit='m', end=['repEndMaps'], steps=[],

src/lisflood/hydrological_modules/evapowater.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -133,9 +133,11 @@ def dynamic(self):
133133
UpstreamEva = self.var.EWRef * self.var.MMtoM3 * self.var.WaterFraction
134134
# evaporation for loop is amount of water per timestep [cu m]
135135
# Volume of potential evaporation from water surface per time step (conversion to [m3])
136-
# ChanMIter = self.var.ChanM3Kin.copy()
137-
ChanMIter = self.var.ChanM3.copy()
136+
137+
#ChanMIter = self.var.ChanM3Kin.copy()
138138
# for Iteration loop: First value is amount of water in the channel
139+
# amount of water in bankful (first line of routing)
140+
ChanMIter = self.var.ChanM3.copy()
139141

140142
ChanLeft = ChanMIter * 0.1
141143
# 10% of the volume must stay in the river
@@ -157,6 +159,7 @@ def dynamic(self):
157159

158160
self.var.EvaAddM3Dt = self.var.EvaAddM3 * self.var.InvNoRoutSteps
159161
# splitting water use per timestep into water use per sub time step
162+
160163
self.var.EvaCumM3 += self.var.EvaAddM3
161164
self.var.EvaWBM3 = self.var.EvaAddM3
162165
# summing up for water balance calculation

src/lisflood/hydrological_modules/kinematic_wave_parallel_tools.py

+3-2
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ def solve1Pixel(
9898
# If old discharge, upstream inflow and lateral inflow are below accuracy: set discharge to 0 and exit
9999
if upstream_inflow <= NEWTON_TOL:
100100
discharge[pix] = 0
101-
return False
101+
return True
102102

103103
# Initial discharge guess using analytically derived boundary values
104104
a_cpui_pow_b_m_1 = b_a_dx_div_dt * upstream_inflow**b_minus_1
@@ -125,7 +125,7 @@ def solve1Pixel(
125125
# If iterations converge to NEWTON_TOL, set value to 0
126126
if dis == NEWTON_TOL:
127127
discharge[pix] = 0
128-
return False
128+
return True
129129

130130
discharge[pix] = dis
131131
return True
@@ -164,6 +164,7 @@ def solve1PixelAvg(
164164
# integration on control volume to calc average outflow (channel water mass balance)
165165
discharge_avg[pix] = upstream_inflow_avg + lateral_inflow + a_dx*(channel_volume_start - channel_volume_end) * inv_time_delta
166166

167+
167168
# avoid negative average discharge
168169
if discharge_avg[pix] < 0:
169170
discharge_avg[pix] = 0

src/lisflood/hydrological_modules/mct.py

+4-1
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ def MCTRouting_single(
235235
Dm1: Reynolds number at t+1 for state file
236236
"""
237237

238-
eps = 1e-06
238+
eps = 1e-12
239239

240240
# Calc O' first guess for the outflow at time t+dt
241241
# O'(t+dt)=O(t)+(I(t+dt)-I(t))
@@ -336,6 +336,9 @@ def MCTRouting_single(
336336
# q1m cannot be smaller than eps or it will cause instability
337337
if q1mm < eps:
338338
q1mm = eps
339+
if ql < 0: ql = 0
340+
# prevent water abstraction or open water evaporation from drying out the channel and keep extracting water
341+
# NOTE THIS GENERATES AN ERROR IN THE WATER BALANCE
339342
V11 = V00 + (q0mm + ql - q1mm) * dt
340343

341344
# q11 Outflow at O(t+dt)

tests/data/LF_ETRS89_UseCase/reference/output_reference_kin_6h/AverageFractionsCatchment.tss

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Fri Dec 6 17:31:43 2024
1+
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Wed Dec 18 11:51:47 2024
22
2
33
timestep
44
1

tests/data/LF_ETRS89_UseCase/reference/output_reference_kin_6h/MBErrorStorageRatio.tss

+101-101
Original file line numberDiff line numberDiff line change
@@ -1,70 +1,70 @@
1-
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Fri Dec 6 17:31:42 2024
1+
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Wed Dec 18 11:51:47 2024
22
2
33
timestep
44
1
55
1 -3.30697e-14
6-
2 -1.32214e-12
6+
2 -1.32584e-12
77
3 -1.38475e-12
8-
4 -9.97322e-13
9-
5 -3.58087e-13
10-
6 -8.56062e-13
11-
7 -9.10272e-13
12-
8 -3.08306e-13
13-
9 -3.70724e-13
14-
10 -3.024e-13
15-
11 -3.94423e-13
16-
12 -1.39469e-13
17-
13 -9.50467e-15
18-
14 -2.01253e-13
19-
15 -8.02574e-14
20-
16 -5.53403e-14
21-
17 -1.79047e-13
22-
18 -1.9021e-13
23-
19 -1.36001e-13
24-
20 -5.62807e-14
25-
21 -4.67998e-15
26-
22 -2.88182e-14
27-
23 -3.67076e-14
28-
24 -8.91695e-14
29-
25 -4.19795e-15
30-
26 -1.60093e-14
31-
27 -2.20108e-13
32-
28 -5.4308e-14
33-
29 -8.13584e-14
34-
30 -6.38634e-13
35-
31 -1.36409e-12
36-
32 -1.86325e-12
37-
33 -4.86176e-14
38-
34 2.54163e-14
39-
35 -1.8196e-13
40-
36 -1.63784e-13
41-
37 -3.10746e-13
42-
38 -6.62854e-13
43-
39 -4.96695e-13
44-
40 -8.91344e-14
45-
41 -5.46212e-14
46-
42 -1.18342e-14
47-
43 -1.35468e-13
48-
44 -9.51185e-15
49-
45 -2.97475e-15
50-
46 6.43172e-15
51-
47 -6.40392e-14
52-
48 -2.20779e-15
53-
49 -2.43569e-15
54-
50 -5.2341e-13
55-
51 -1.12209e-12
56-
52 -3.36704e-13
57-
53 -2.47554e-14
58-
54 -3.80418e-13
59-
55 -5.37929e-14
60-
56 -5.80636e-14
61-
57 -2.16305e-14
62-
58 -6.87203e-14
63-
59 -2.24512e-14
64-
60 -3.52801e-14
65-
61 -1.99017e-14
8+
4 -9.9749e-13
9+
5 -3.57922e-13
10+
6 -8.56238e-13
11+
7 -9.10129e-13
12+
8 -3.08362e-13
13+
9 -3.70661e-13
14+
10 -3.02564e-13
15+
11 -3.94315e-13
16+
12 -1.3958e-13
17+
13 -9.48194e-15
18+
14 -2.01078e-13
19+
15 -8.04142e-14
20+
16 -5.53129e-14
21+
17 -1.78993e-13
22+
18 -1.90124e-13
23+
19 -1.3605e-13
24+
20 -5.62959e-14
25+
21 -4.66443e-15
26+
22 -2.8775e-14
27+
23 -3.68077e-14
28+
24 -8.92489e-14
29+
25 -4.0928e-15
30+
26 -1.60573e-14
31+
27 -2.31189e-13
32+
28 -5.41682e-14
33+
29 -8.13799e-14
34+
30 -6.38821e-13
35+
31 -1.36396e-12
36+
32 -1.86332e-12
37+
33 -4.86131e-14
38+
34 2.54088e-14
39+
35 -1.81881e-13
40+
36 -1.63801e-13
41+
37 -3.10807e-13
42+
38 -6.62867e-13
43+
39 -4.96726e-13
44+
40 -8.90984e-14
45+
41 -5.46311e-14
46+
42 -1.18625e-14
47+
43 -1.35508e-13
48+
44 -9.40317e-15
49+
45 -3.06574e-15
50+
46 6.45396e-15
51+
47 -6.40919e-14
52+
48 -2.02348e-15
53+
49 -2.53303e-15
54+
50 -5.23305e-13
55+
51 -1.1223e-12
56+
52 -3.36726e-13
57+
53 -2.46017e-14
58+
54 -3.80425e-13
59+
55 -5.37968e-14
60+
56 -5.80656e-14
61+
57 -2.16315e-14
62+
58 -6.87208e-14
63+
59 -2.24515e-14
64+
60 -3.52802e-14
65+
61 -1.99018e-14
6666
62 -1.65189e-14
67-
63 -1.1581e-15
67+
63 -1.15812e-15
6868
64 1.04151e-14
6969
65 4.16348e-15
7070
66 -4.87868e-15
@@ -96,46 +96,46 @@ timestep
9696
92 -3.31777e-13
9797
93 -9.87687e-15
9898
94 -1.11653e-13
99-
95 -9.20258e-13
99+
95 -9.33131e-13
100100
96 -1.90257e-13
101-
97 -3.2849e-14
102-
98 -1.02591e-13
103-
99 -6.72766e-13
104-
100 -5.60174e-14
105-
101 9.48604e-15
106-
102 -3.34815e-14
107-
103 -4.47661e-13
108-
104 -1.58593e-13
109-
105 -1.09767e-13
110-
106 -1.09047e-14
111-
107 -2.75012e-13
112-
108 -7.31655e-15
113-
109 5.06166e-15
114-
110 -9.71637e-14
115-
111 -3.10537e-13
116-
112 -2.43809e-13
117-
113 -2.3351e-13
118-
114 -6.22037e-13
119-
115 -2.71698e-13
120-
116 -3.24233e-13
121-
117 1.17087e-13
122-
118 4.88792e-14
123-
119 -3.78985e-13
124-
120 -9.88185e-13
125-
121 -1.33972e-14
126-
122 -3.83349e-13
127-
123 -1.28261e-12
128-
124 -1.48468e-13
129-
125 -5.79047e-14
130-
126 -2.03477e-13
131-
127 -6.45732e-13
132-
128 -1.10563e-13
101+
97 -3.28507e-14
102+
98 -1.02598e-13
103+
99 -6.72787e-13
104+
100 -5.59025e-14
105+
101 9.37359e-15
106+
102 -3.3525e-14
107+
103 -4.47512e-13
108+
104 -1.5879e-13
109+
105 -1.09496e-13
110+
106 -1.11667e-14
111+
107 -2.74938e-13
112+
108 -7.18592e-15
113+
109 4.9862e-15
114+
110 -9.72046e-14
115+
111 -3.10481e-13
116+
112 -2.43779e-13
117+
113 -2.33652e-13
118+
114 -6.22014e-13
119+
115 -2.71522e-13
120+
116 -3.24261e-13
121+
117 1.16997e-13
122+
118 4.88698e-14
123+
119 -3.78935e-13
124+
120 -9.88094e-13
125+
121 -1.36126e-14
126+
122 -3.83212e-13
127+
123 -1.28262e-12
128+
124 -1.48478e-13
129+
125 -5.79107e-14
130+
126 -2.0348e-13
131+
127 -6.45733e-13
132+
128 -1.10564e-13
133133
129 -1.8158e-13
134134
130 -3.47408e-13
135135
131 -1.06769e-12
136136
132 -2.92118e-13
137-
133 -4.87533e-14
138-
134 -3.93209e-15
137+
133 -4.87534e-14
138+
134 -3.93211e-15
139139
135 1.15787e-13
140140
136 1.84945e-13
141141
137 5.13678e-14
@@ -1421,16 +1421,16 @@ timestep
14211421
1417 -1.78663e-12
14221422
1418 -5.56884e-13
14231423
1419 -7.94688e-14
1424-
1420 -6.41738e-14
1425-
1421 -6.52438e-15
1426-
1422 -3.05922e-14
1424+
1420 -6.41739e-14
1425+
1421 -6.69136e-15
1426+
1422 -3.04253e-14
14271427
1423 -3.15608e-13
14281428
1424 -3.17437e-14
1429-
1425 -4.30715e-15
1429+
1425 -4.30717e-15
14301430
1426 -4.30145e-14
14311431
1427 -2.9492e-13
14321432
1428 -1.76943e-13
1433-
1429 -4.78082e-15
1433+
1429 -4.78086e-15
14341434
1430 -2.11239e-14
14351435
1431 -3.27328e-13
14361436
1432 -2.49794e-13

tests/data/LF_ETRS89_UseCase/reference/output_reference_kin_6h/chanqWin.tss

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Fri Dec 6 17:31:42 2024
1+
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Wed Dec 18 11:51:47 2024
22
31
33
timestep
44
334
Binary file not shown.

tests/data/LF_ETRS89_UseCase/reference/output_reference_kin_6h/disWin.tss

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Fri Dec 6 17:31:42 2024
1+
timeseries valuescale.scalar settingsfile: /perm/mocm/prg/oslisflood/jrc/lisflood-code/tests/data/LF_ETRS89_UseCase/settings/mct_cold_for_results_generation.xml date: Wed Dec 18 11:51:47 2024
22
31
33
timestep
44
334

0 commit comments

Comments
 (0)