|
20 | 20 | R::Real=6.371e6 # Earth's radius [m]
|
21 | 21 |
|
22 | 22 | # SCALE
|
23 |
| - scale::Real=1 # multiplicative scale for the momentum equations u,v |
| 23 | + scale::Real=2^6 # multiplicative scale for the momentum equations u,v |
| 24 | + scale_sst::Real=2^15 # multiplicative scale for sst |
24 | 25 |
|
25 | 26 | # WIND FORCING OPTIONS
|
26 |
| - wind_forcing_x::String="channel" # "channel", "double_gyre", "shear","constant" or "none" |
| 27 | + wind_forcing_x::String="shear" # "channel", "double_gyre", "shear","constant" or "none" |
27 | 28 | wind_forcing_y::String="constant" # "channel", "double_gyre", "shear","constant" or "none"
|
28 | 29 | Fx0::Real=0.12 # wind stress strength [Pa] in x-direction
|
29 | 30 | Fy0::Real=0.0 # wind stress strength [Pa] in y-direction
|
30 |
| - seasonal_wind_x::Bool=false # Change the wind stress with a sine of frequency ωFx,ωFy |
| 31 | + seasonal_wind_x::Bool=true # Change the wind stress with a sine of frequency ωFx,ωFy |
31 | 32 | seasonal_wind_y::Bool=false # same for y-component
|
32 |
| - ωFx::Real=1.0 # frequency [1/year] for x component |
33 |
| - ωFy::Real=1.0 # frequency [1/year] for y component |
| 33 | + ωFx::Real=2 # frequency [1/year] for x component |
| 34 | + ωFy::Real=2 # frequency [1/year] for y component |
34 | 35 |
|
35 | 36 | # BOTTOM TOPOGRAPHY OPTIONS
|
36 | 37 | topography::String="ridges" # "ridge", "seamount", "flat", "ridges", "bathtub"
|
| 38 | + topo_ridges_positions::Vector = [0.05,0.25,0.45,0.9] |
37 | 39 | topo_height::Real=100. # height of seamount [m]
|
38 | 40 | topo_width::Real=300e3 # horizontal scale [m] of the seamount
|
39 | 41 |
|
|
83 | 85 |
|
84 | 86 | # TRACER ADVECTION
|
85 | 87 | tracer_advection::Bool=true # yes?
|
86 |
| - tracer_relaxation::Bool=false # yes? |
| 88 | + tracer_relaxation::Bool=true # yes? |
87 | 89 | tracer_consumption::Bool=false # yes?
|
88 |
| - tracer_pumping::Bool=false # yes? |
89 |
| - injection_region::String="west" # "west", "south", "rect" or "flat" |
90 |
| - sst_initial::String="south" # "west", "south", "rect", "flat" or "restart" |
| 90 | + sst_initial::String="waves" # "west", "south", "linear", "waves","rect", "flat" or "restart" |
91 | 91 | sst_rect_coords::Array{Float64,1}=[0.,0.15,0.,1.0]
|
92 | 92 | # (x0,x1,y0,y1) are the size of the rectangle in [0,1]
|
93 | 93 | Uadv::Real=0.2 # Velocity scale [m/s] for tracer advection
|
94 |
| - SSTmax::Real=1. # tracer (sea surface temperature) max for restoring |
95 |
| - SSTmin::Real=-1. # tracer (sea surface temperature) min for restoring |
96 |
| - τSST::Real=500. # tracer restoring time scale [days] |
97 |
| - jSST::Real=365. # tracer consumption [days] |
98 |
| - SST_λ0::Real=222e3 # [m] transition position of relaxation timescale |
99 |
| - SST_λs::Real=111e3 # [m] transition width of relaxation timescale |
100 |
| - SST_γ0::Real=8.35 # [days] injection time scale |
| 94 | + SSTmax::Real=1. # tracer (sea surface temperature) max for initial conditions |
| 95 | + SSTmin::Real=-1. # tracer (sea surface temperature) min for initial conditions |
| 96 | + τSST::Real=100 # tracer restoring time scale [days] |
| 97 | + jSST::Real=365 # tracer consumption [days] |
101 | 98 | SSTw::Real=5e5 # width [m] of the tangent used for the IC and interface relaxation
|
102 | 99 | SSTϕ::Real=0.5 # latitude/longitude fraction ∈ [0,1] of sst edge
|
| 100 | + SSTwaves_ny::Real=4 # wave crests/troughs in y |
| 101 | + SSTwaves_nx::Real=SSTwaves_ny*L_ratio # wave crests/troughs in x |
| 102 | + SSTwaves_p::Real=1/2 # power for rectangles (p<1)/smootheness(p>=1) of waves |
103 | 103 |
|
104 | 104 | # OUTPUT OPTIONS
|
105 | 105 | output::Bool=false # netcdf output?
|
|
143 | 143 | @assert diffusion in ["Smagorinsky", "constant"] "Diffusion '$diffusion' unsupported."
|
144 | 144 | @assert νB > 0.0 "Diffusion scaling constant νB has to be >0, $νB given."
|
145 | 145 | @assert cSmag > 0.0 "Smagorinsky coefficient cSmag has to be >0, $cSmag given."
|
146 |
| - @assert injection_region in ["west","south"] "Injection region '$injection_region' unsupported." |
147 | 146 | @assert Uadv > 0.0 "Advection velocity scale Uadv has to be >0, $Uadv given."
|
148 | 147 | @assert output_dt > 0 "Output time step has to be >0, $output_dt given."
|
149 | 148 | @assert initial_cond in ["rest", "ncfile"] "Initial conditions '$initial_cond' unsupported."
|
@@ -175,20 +174,22 @@ Creates a Parameter struct with following options and default values
|
175 | 174 | R::Real=6.371e6 # Earth's radius [m]
|
176 | 175 |
|
177 | 176 | # SCALE
|
178 |
| - scale::Real=1 # multiplicative scale for the momentum equations u,v |
| 177 | + scale::Real=2^6 # multiplicative scale for the momentum equations u,v |
| 178 | + scale_sst::Real=2^15 # multiplicative scale for sst |
179 | 179 |
|
180 | 180 | # WIND FORCING OPTIONS
|
181 |
| - wind_forcing_x::String="channel" # "channel", "double_gyre", "shear","constant" or "none" |
| 181 | + wind_forcing_x::String="shear" # "channel", "double_gyre", "shear","constant" or "none" |
182 | 182 | wind_forcing_y::String="constant" # "channel", "double_gyre", "shear","constant" or "none"
|
183 | 183 | Fx0::Real=0.12 # wind stress strength [Pa] in x-direction
|
184 | 184 | Fy0::Real=0.0 # wind stress strength [Pa] in y-direction
|
185 |
| - seasonal_wind_x::Bool=false # Change the wind stress with a sine of frequency ωFx,ωFy |
| 185 | + seasonal_wind_x::Bool=true # Change the wind stress with a sine of frequency ωFx,ωFy |
186 | 186 | seasonal_wind_y::Bool=false # same for y-component
|
187 |
| - ωFx::Real=1.0 # frequency [1/year] for x component |
188 |
| - ωFy::Real=1.0 # frequency [1/year] for y component |
| 187 | + ωFx::Real=2 # frequency [1/year] for x component |
| 188 | + ωFy::Real=2 # frequency [1/year] for y component |
189 | 189 |
|
190 | 190 | # BOTTOM TOPOGRAPHY OPTIONS
|
191 | 191 | topography::String="ridges" # "ridge", "seamount", "flat", "ridges", "bathtub"
|
| 192 | + topo_ridges_positions::Vector = [0.05,0.25,0.45,0.9] |
192 | 193 | topo_height::Real=100. # height of seamount [m]
|
193 | 194 | topo_width::Real=300e3 # horizontal scale [m] of the seamount
|
194 | 195 |
|
@@ -238,29 +239,28 @@ Creates a Parameter struct with following options and default values
|
238 | 239 |
|
239 | 240 | # TRACER ADVECTION
|
240 | 241 | tracer_advection::Bool=true # yes?
|
241 |
| - tracer_relaxation::Bool=false # yes? |
| 242 | + tracer_relaxation::Bool=true # yes? |
242 | 243 | tracer_consumption::Bool=false # yes?
|
243 |
| - tracer_pumping::Bool=false # yes? |
244 |
| - injection_region::String="west" # "west", "south", "rect" or "flat" |
245 |
| - sst_initial::String="south" # "west", "south", "rect", "flat" or "restart" |
| 244 | + sst_initial::String="waves" # "west", "south", "linear", "waves","rect", "flat" or "restart" |
246 | 245 | sst_rect_coords::Array{Float64,1}=[0.,0.15,0.,1.0]
|
247 | 246 | # (x0,x1,y0,y1) are the size of the rectangle in [0,1]
|
248 | 247 | Uadv::Real=0.2 # Velocity scale [m/s] for tracer advection
|
249 |
| - SSTmax::Real=1. # tracer (sea surface temperature) max for restoring |
250 |
| - SSTmin::Real=-1. # tracer (sea surface temperature) min for restoring |
251 |
| - τSST::Real=500. # tracer restoring time scale [days] |
252 |
| - jSST::Real=365. # tracer consumption [days] |
253 |
| - SST_λ0::Real=222e3 # [m] transition position of relaxation timescale |
254 |
| - SST_λs::Real=111e3 # [m] transition width of relaxation timescale |
255 |
| - SST_γ0::Real=8.35 # [days] injection time scale |
| 248 | + SSTmax::Real=1. # tracer (sea surface temperature) max for initial conditions |
| 249 | + SSTmin::Real=-1. # tracer (sea surface temperature) min for initial conditions |
| 250 | + τSST::Real=100 # tracer restoring time scale [days] |
| 251 | + jSST::Real=365 # tracer consumption [days] |
256 | 252 | SSTw::Real=5e5 # width [m] of the tangent used for the IC and interface relaxation
|
257 | 253 | SSTϕ::Real=0.5 # latitude/longitude fraction ∈ [0,1] of sst edge
|
| 254 | + SSTwaves_ny::Real=4 # wave crests/troughs in y |
| 255 | + SSTwaves_nx::Real=SSTwaves_ny*L_ratio # wave crests/troughs in x |
| 256 | + SSTwaves_p::Real=1/2 # power for rectangles (p<1)/smootheness(p>=1) of waves |
258 | 257 |
|
259 | 258 | # OUTPUT OPTIONS
|
260 | 259 | output::Bool=false # netcdf output?
|
261 | 260 | output_vars::Array{String,1}=["u","v","η","sst"] # which variables to output? "du","dv","dη" also allowed
|
262 | 261 | output_dt::Real=24 # output time step [hours]
|
263 | 262 | outpath::String=pwd() # path to output folder
|
| 263 | + compression_level::Int=3 # compression level |
264 | 264 |
|
265 | 265 | # INITIAL CONDITIONS
|
266 | 266 | initial_cond::String="rest" # "rest" or "ncfile" for restart from file
|
|
0 commit comments