-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy patharonnax.conf
190 lines (172 loc) · 7.71 KB
/
aronnax.conf
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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
# Aronnax configuration file. Change the values, but not the names.
#------------------------------------------------------------------------------
# au is the lateral friction coefficient in m^2 / s
# ar is linear drag between layers in 1/s
# kh is thickness diffusivity in m^2 / s
# kv is vertical thickness diffusivity in m^2/s
# dt is time step in seconds
# slip is free-slip (=0), no-slip (=1), or partial slip (something in between)
# niter0: the timestep at which the simulation begins. If not zero, then there
# must be checkpoint files in the 'checkpoints' directory.
# n_time_steps: number of timesteps before stopping
# dump_freq: time between snapshot outputs in seconds
# av_freq: time between averaged output in seconds
# checkpiontFreq: time between checkpoints in seconds
# (these are used for restarting simulations)
# diag_freq: time between dumping layerwise diagnostics of the simulation. These
# are mean, min, max, and std of h, u, and v in each layer.
# hmin: minimum layer thickness allowed by model (for stability) in metres
# maxits: maximum iterations for the pressure solver algorithm. Should probably
# be at least max(nx,ny), and possibly nx*ny
# eps: convergence tolerance for pressure solver. Algorithm stops when error is
# less than eps*initial_error
# freesurf_fac: 1. = linear implicit free surface, 0. = rigid lid.
# bot_drag is the linear bottom friction in 1/s
# thickness_error is the discrepancy between the summed layer thicknesses and
# the depth above which the model emits a warning. 1e-2 is a 1% discrepancy.
# debug_level controls the level of output produced by the model. When set to
# zero, or not specified (it defaults to zero), the model outputs h, u, and v
# at the frequency controlled by dump_freq and av_freq. Specifying larger
# integer values results in progressively more output more frequently. See
# the documentation for details.
# h_advec_scheme selects which advection scheme to use when advecting the
# thickness field. Current options are:
# 1 first-order centered differencing
# 2 first-order upwind differencing
# ts_algorithm selects the time stepping algorithm used by the model
# 3 (default) is third-order Adams-Bashfort
[numerics]
au = 500.
ar = 0.0
kh = 0.0
kv = 0.0
dt = 600.
slip = 0.0
niter0 = 0
n_time_steps = 502
dump_freq = 1.2e5
av_freq = 1.2e5
checkpoint_freq = 1.2e5
diag_freq = 6e3
hmin = 100
maxits = 1000
eps = 1e-5
freesurf_fac = 0.
bot_drag = 1e-6
thickness_error = 1e-2
debug_level = 0
h_advec_scheme = 2
ts_algorithm = 3
#------------------------------------------------------------------------------
# red_grav selects whether to use n+1/2 layer physics (red_grav=yes), or n-layer
# physics with an ocean floor (red_grav=no)
# active_lower_layer is used in reduced gravity mode to swap from a quiescent abyss
# (the default) to an active lower layer with a quiescent upper layer by setting
# active_lower_layer = yes. You will need to provide bathymetry via `depth_file`.
# depth_file defines the depth of the ocean bottom below the sea surface in metres.
# hmean is a list of initial thicknesses for the layers in metres. Each value is
# separated by a comma. This input was a useful short cut for specifying
# initial conditions with constant layer thicknesses, but has been superseded
# and may be removed in the future.
# h0 is the depth of the ocean basin and is only required in n-layer mode. This
# input was a useful short cut for specifying a flat bottomed ocean, but has
# been superseded and may be removed in the future.
[model]
red_grav = no
active_lower_layer = no
depth_file
hmean = 400.,1600.
h0 = 2000.
#------------------------------------------------------------------------------
# these variables set the number of processors to use in each direction.
# You should ensure that the grid divides evenly into the number of tiles.
# nx/n_proc_x and ny/n_proc_y must be integers.
[pressure_solver]
n_proc_x = 1
n_proc_y = 1
#------------------------------------------------------------------------------
# g_vec is the reduced gravity at interfaces in m/s^2. g_vec must have as many
# entries as there are layers. The values are given by the delta_rho*g/rho_0.
# In n-layer mode the first entry applies to the surface, i.e. the top of the
# upper layer. In n+1/2 layer mode the first entry applies to the bottom of
# the upper layer.
# rho0 is the reference density in kg/m^3, as required by the Boussinesq assumption.
[physics]
g_vec = 9.8, 0.01
rho0 = 1035.
#------------------------------------------------------------------------------
# nx is the number of grid points in the x direction
# ny is the number of grid points in the y direction
# layers is the number of active layers
# OL is the width of the halo region around tiles
# must be set to >= 3 if using multiple tiles
# dx is the x grid spacing in metres
# dy is the y grid spacing in metres
# f_u_file defines the Coriolis parameter on the u grid points in 1/s
# f_v_file defines the Coriolis parameter on the v grid points in 1/s
# wet_mask_file defines the computational domain - which grid points are ocean,
# with wetmask=1, and which are land, with wetmask=0. The wetmask is defined
# at the centre of each grid cell, the same location as thickness.
[grid]
nx = 10
ny = 10
layers = 2
OL = 3
dx = 2e4
dy = 2e4
f_u_file = :beta_plane_f_u:1e-5,2e-11
f_v_file = :beta_plane_f_v:1e-5,2e-11
wet_mask_file = :rectangular_pool:
#------------------------------------------------------------------------------
# These files define the values towards which the model variables are relaxed
# (in metres or m/s), and the timescale for the relaxation, in 1/s.
[sponge]
sponge_h_time_scale_file
sponge_u_time_scale_file
sponge_v_time_scale_file
sponge_h_file
sponge_u_file
sponge_v_file
#------------------------------------------------------------------------------
# These files define the initial values used in the simulation. If no values are
# defined for the velocities (in m/s) or the free surface elevation (in m),
# they will be initialised with zeros. Layer thickness (in m) must be initialised,
# either by passing a file, or using the generator functions.
[initial_conditions]
init_u_file
init_v_file
init_h_file
init_eta_file
#------------------------------------------------------------------------------
# The wind files define the momentum forcing in N/m^2 or m/s
# wind_mag_time_series_file defines the constant factor by which the wind is
# multiplied by at each timestep.
# wind_depth specifies the depth over which the wind forcing is spread. This
# only impacts the simulation if the surface layer is thinner than wind_depth.
# If wind_depth is set to 0 (default) then the wind forcing acts only on the
# surface layer, no matter how thin it gets.
# dump_wind defines whether the model outputs the wind field when it outputs other
# variables (at the rate controlled by dump_freq).
# relative_wind selects whether the wind forcing is given in
# N/m^2 (relative_wind = no), or
# m/s (relative_wind = yes)
# Cd is the quadratic drag coefficient used if relative_wind = yes
# wind_n_records is the number of wind snapshots provided
# wind_period is the time (in seconds) between subsequent snapshots
# wind_loop_fields sets whether to loop through the provided snapshots, or
# to stay with the final one for the rest of the simulation
# wind_interpolate sets whether to interpolate between snapshots, or swap
# from one to the next in a single timestep
[external_forcing]
zonal_wind_file = 'wind_x.bin'
meridional_wind_file = 'wind_y.bin'
wind_mag_time_series_file
wind_depth = 30
dump_wind = no
relative_wind = no
Cd = 0.
wind_n_records = 1
wind_period = 1000
wind_loop_fields = yes
wind_interpolate = yes
#------------------------------------------------------------------------------