-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathsic4dvar_params.py
More file actions
168 lines (163 loc) · 4.71 KB
/
Copy pathsic4dvar_params.py
File metadata and controls
168 lines (163 loc) · 4.71 KB
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
"""
SIC4DVAR-LC
Copyright (C) 2025 INRAE
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
@authors: Callum TYLER, callum.tyler@inrae.fr
Dylan QUITTARD, dylan.quittard@inrae.fr
All functions not mentioned above.
Cécile Cazals, cecile.cazals@cs-soprasteria.com
logger
Description:
Parameters file for sic4dvar (algo315).
"""
from pathlib import Path
import numpy as np
import multiprocessing
from datetime import datetime
reach_type_to_process = {'seq': [1, 3, 4, 5], 'set': [1]}
algo_bounds = [[5.0], [-10.05, -0.05, -0.25], [10.0, 60.0, 5.0]]
algo_bounds[2][2] = (algo_bounds[2][1] - algo_bounds[2][0]) / 20.0
slope_smoothing_num_passes = 0
approx_section_params = [8, 0.15, 2]
kDim = 101
shape03 = 10.0
val1 = -1.0
shape13 = 2.1
val2 = 28.6
shape23 = 2.1
known_friction_shape = 100.0
local_QM1 = 1.0
cython_version = False
min_num_nodes = 1
reachNB = 0
extrapolation = True
Option = 2
LSMX = 5
LSMT = 1
corx = 0.2 * 1000
cort = 1 * 6 * 3600.0
DX_Length = 20 * 1000.0
DX_max_in = np.inf
DX_max_out = 500.0
valid_min_z = -1000.0
valid_min_dA = -10000000.0
figures = False
node_run = False
DT_obs = 1200.0
node_length = True
create_tables = False
opt_sword_boost = False
large_deviations = True
old_extrapolation = False
a31_early_stop = True
force_specific_dates = False
start_date = datetime(2023, 3, 31)
end_date = datetime(2025, 5, 5)
replace_config = True
config_file_path = '/app/sic4dvar_param_confluence.ini'
densification = False
num_cores = multiprocessing.cpu_count()
max_cores = int(num_cores / 2)
no_print = False
q_mean_computed = False
override_cort = False
smooth_estimate = True
uniform_friction = False
qsdev_activate = False
qsdev_option = 1
indicators_experimental_computation = True
use_fallback_sos = False
use_dynamic_spread = False
use_mean_for_bounds = True
relative_variance = 1.0
auto_spread_for_runs = True
smoothing_keep_drops = False
corx_option = 0
drop_threshold = 0.3 / 200
ML_time_series_path = '/mnt/DATA/worksync/files/data/ML_dataframes/ML_time_series_new.nc'
q_prior_from_ML = False
ML_priors_force_quit = True
run_preprocessing = True
run_extrapolation = True
day_length = 1000000.0
experimental_stop_at_bathy = False
experimental_discharge_ML = False
ml_stations_sync = False
experimental_run_MMI = False
smoothing_prior = False
optional_outputs = False
reference_force_quit = False
use_SVS = False
SVS_file = ''
pooling = False
static_slope = True
slope_smooth_wse_ranking = False
use_zb_early_break = False
slope_smooth_max_iter = 1
svs_reach_id = 'v17'
start_from_downstream = False
use_gauge_external_file = False
gauge_external_file = ''
use_friction_external_file = False
friction_external_file = ''
tmp_write_to_A0_and_n = True
test = 'normal'
if test == 'stations':
shape03 = 100.0
auto_spread_for_runs = False
station_period_only = True
activate_facc = False
use_fallback_sos = False
fallback_sos_dir = ''
use_dynamic_spread = False
use_mean_for_bounds = True
q_prior_from_ML = False
reference_force_quit = True
SVS_file = '/mnt/DATA/worksync/files/data/gages/SVS_v17/SVS_v1_0.5_trans_v17.nc'
use_SVS = True
svs_reach_id_var = 'reach_id_v17'
use_gauge_external_file = False
gauge_external_file = '/mnt/DATA/CONFLUENCE/sic_update_2025_10/Bathymetry_validation_2026/ADCP_compiled.csv'
use_friction_external_file = False
friction_external_file = '/mnt/DATA/CONFLUENCE/sic_update_2025_10/Bathymetry_validation_2026/ADCP_compiled.csv'
elif test == 'ML':
shape03 = 30.0
auto_spread_for_runs = False
station_period_only = True
activate_facc = False
use_fallback_sos = False
fallback_sos_dir = ''
use_dynamic_spread = False
use_mean_for_bounds = True
q_prior_from_ML = True
else:
shape03 = 30.0
auto_spread_for_runs = True
station_period_only = False
activate_facc = True
use_fallback_sos = False
fallback_sos_dir = ''
use_dynamic_spread = False
use_mean_for_bounds = True
q_prior_from_ML = False
eps1 = 0.01
eps2 = 0.0001
force_create_reach_t = True
run_algo31_v3 = False
def_float_atol = 0.01
pankaj_test = False
V32 = False
sigmaZ = 1.0
thres = 1.0
DH_Iter = 10
DH_Esp = 0.0001
useEXT = True