23
23
wind_forcing_y:: String = " constant" # "channel", "double_gyre", "shear","constant" or "none"
24
24
Fx0:: Real = 0.12 # wind stress strength [Pa] in x-direction
25
25
Fy0:: Real = 0.0 # wind stress strength [Pa] in y-direction
26
+ seasonal_wind_x:: Bool = false # Change the wind stress with a sine of frequency ωFx,ωFy
27
+ seasonal_wind_y:: Bool = false # same for y-component
28
+ ωFx:: Real = 1.0 # frequency [1/year] for x component
29
+ ωFy:: Real = 1.0 # frequency [1/year] for y component
26
30
27
31
# BOTTOM TOPOGRAPHY OPTIONS
28
32
topography:: String = " ridge" # "ridge", "seamount", "flat", "ridges", "bathtub"
37
41
38
42
# SURFACE FORCING
39
43
surface_forcing:: Bool = false # yes?
40
- ωyr :: Real = 1.0 # (annual) frequency [1/year]
44
+ ωFη :: Real = 1.0 # frequency [1/year] for surfance forcing
41
45
A:: Real = 3e-5 # Amplitude [m/s]
42
46
ϕk:: Real = ϕ # Central latitude of Kelvin wave pumping
43
47
wk:: Real = 10e3 # width [m] in y of Gaussian used for surface forcing
114
118
@assert topo_width > 0.0 " topo_width has to be >0, $topo_width given."
115
119
@assert t_relax > 0.0 " t_relax has to be >0, $t_relax given."
116
120
@assert η_refw > 0.0 " η_refw has to be >0, $η_refw given."
117
- @assert ωyr > 0.0 " ωyr has to be >0, $ωyr given."
118
121
@assert RKo in [3 ,4 ] " RKo has to be 3 or 4, $RKo given."
119
122
@assert Ndays > 0.0 " Ndays has to be >0, $Ndays given."
120
123
@assert nstep_diff > 0 " nstep_diff has to be >0, $nstep_diff given."
@@ -144,7 +147,7 @@ Creates a Parameter struct with following options and default values
144
147
T::DataType=Float32 # number format
145
148
146
149
Tprog::DataType=T # number format for prognostic variables
147
- Tcomm::DataType=T # number format for ghost-point copies
150
+ Tcomm::DataType=Tprog # number format for ghost-point copies
148
151
149
152
# DOMAIN RESOLUTION AND RATIO
150
153
nx::Int=100 # number of grid cells in x-direction
@@ -155,7 +158,7 @@ Creates a Parameter struct with following options and default values
155
158
g::Real=10. # gravitational acceleration [m/s]
156
159
H::Real=500. # layer thickness at rest [m]
157
160
ρ::Real=1e3 # water density [kg/m^3]
158
- ϕ::Real=45. # central latitue of the domain (for coriolis) [°]
161
+ ϕ::Real=45. # central latitude of the domain (for coriolis) [°]
159
162
ω::Real=2π/(24*3600) # Earth's angular frequency [s^-1]
160
163
R::Real=6.371e6 # Earth's radius [m]
161
164
@@ -164,6 +167,10 @@ Creates a Parameter struct with following options and default values
164
167
wind_forcing_y::String="constant" # "channel", "double_gyre", "shear","constant" or "none"
165
168
Fx0::Real=0.12 # wind stress strength [Pa] in x-direction
166
169
Fy0::Real=0.0 # wind stress strength [Pa] in y-direction
170
+ seasonal_wind_x::Bool=false # Change the wind stress with a sine of frequency ωFx,ωFy
171
+ seasonal_wind_y::Bool=false # same for y-component
172
+ ωFx::Real=1.0 # frequency [1/year] for x component
173
+ ωFy::Real=1.0 # frequency [1/year] for y component
167
174
168
175
# BOTTOM TOPOGRAPHY OPTIONS
169
176
topography::String="ridge" # "ridge", "seamount", "flat", "ridges", "bathtub"
@@ -176,10 +183,12 @@ Creates a Parameter struct with following options and default values
176
183
η_refh::Real=5. # height difference [m] of the interface relaxation profile
177
184
η_refw::Real=50e3 # width [m] of the tangent used for the interface relaxation
178
185
179
- # SURFACE FORCING (Currently only Kelvin wave pumping at Eq.)
186
+ # SURFACE FORCING
180
187
surface_forcing::Bool=false # yes?
181
- ωyr ::Real=1.0 # (annual) frequency [1/year]
188
+ ωFη ::Real=1.0 # (annual) frequency [1/year]
182
189
A::Real=3e-5 # Amplitude [m/s]
190
+ ϕk::Real=ϕ # Central latitude of Kelvin wave pumping
191
+ wk::Real=10e3 # width [m] in y of Gaussian used for surface forcing
183
192
184
193
# TIME STEPPING OPTIONS
185
194
RKo::Int=4 # Order of the RK time stepping scheme (3 or 4)
@@ -230,7 +239,7 @@ Creates a Parameter struct with following options and default values
230
239
231
240
# OUTPUT OPTIONS
232
241
output::Bool=false # netcdf output?
233
- output_vars::Array{String,1}=["u","v","η","sst","q","ζ"] # which variables to output?
242
+ output_vars::Array{String,1}=["u","v","η","sst","q","ζ"] # which variables to output? "du","dv","dη" also allowed
234
243
output_dt::Real=6 # output time step [hours]
235
244
outpath::String=pwd() # path to output folder
236
245
@@ -240,5 +249,8 @@ Creates a Parameter struct with following options and default values
240
249
init_run_id::Int=0 # run id for restart from run number
241
250
init_starti::Int=-1 # timestep to start from (-1 meaning last)
242
251
get_id_mode::String="continue" # How to determine the run id: "continue" or "fill"
252
+ run_id::Int=-1 # Output with a specific run id
253
+ init_interpolation::Bool=true # Interpolate the initial conditions in case grids don't match?
254
+
243
255
"""
244
256
Parameter
0 commit comments