-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathaccel.h
51 lines (51 loc) · 2.08 KB
/
accel.h
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
c====================== include file "accel.h" =========================
c
c depth dependent tracer timestep acceleration multipliers used to
c hasten the convergence to equilibrium of the deeper portions of
c ocean-climate models.
c
c accelerate abyssal processes by varying the length of the tracer
c timestep with depth. by using longer timesteps at depth, one can
c in effect reduce the heat capacity of the deeper levels and speed
c convergence to equilibrium.
c note:
c by applying this method, one is assuming that there is a single
c steady-state solution to the model being considered.
c also, since the diagnostic timestep calculations of "termbt" do
c not attempt to account for depth variant timestep lengths, the
c truncation error reported will increase, because it will include
c the tracer changes due to variations in "dtxcel".
c
c reference:
c Bryan, K., 1984: accelerating the convergence to equilibrium
c of ocean climate models, J. Phys. Oceanogr., 14, 666-673.
c ("dtxcel" here is the same as 1/gamma in the above reference)
c set "dtxcel" to 1.0 at the surface and for upper levels not
c to be accelerated
c set "dtxcel" to values greater than 1.0 at deeper levels to
c accelerate convergence if above requirements are met
c
c dtxcel = model level dependent tracer timestep multipliers
#ifdef isopycmix
c dtxsqr = square root of "dtxcel" (used in computation of
c maximum slope constraint for isopycnal mixing)
#endif
#ifndef implicitvmix
c dztxcl = layer thickness divided by the timestep multiplier
c (needed for convection code)
c dzwxcl = multiplication factor relating to the vertical
c distance between ts points, scaled according
c to timestep multipliers for use in convection code
#endif
c
c author: k. dixon e-mail=> [email protected]
c
c
common /accel/ dtxcel(km)
#ifdef isopycmix
common /accel/ dtxsqr(km)
#endif
#ifndef implicitvmix
common /accel/ dztxcl(km), dzwxcl(km)
#endif
c