1 |
mlosch |
1.1 |
C $Header: $ |
2 |
|
|
C $Name: $ |
3 |
|
|
|
4 |
|
|
#ifdef ALLOW_OPPS |
5 |
|
|
|
6 |
|
|
CBOP |
7 |
|
|
C !ROUTINE: OPPS.h |
8 |
|
|
|
9 |
|
|
C !DESCRIPTION: \bv |
10 |
|
|
C /==========================================================\ |
11 |
|
|
C | OPPS.h | |
12 |
|
|
C | o Basic header for Paluszkiewicz and Romea (1997) | |
13 |
|
|
C | Ocean Penetrative Plume Scheme (OPPS) | |
14 |
|
|
C | Contains all OPPS field declarations. | |
15 |
|
|
C \==========================================================/ |
16 |
|
|
|
17 |
|
|
C----------------------------------------------------------------------- |
18 |
|
|
C |
19 |
|
|
C Parameters that can be set in data.opps |
20 |
|
|
C |
21 |
|
|
C MAX_ABE_ITERATIONS - maximum for iteration on fractional size |
22 |
|
|
C (default=1) |
23 |
|
|
C In the present implementation, there is no |
24 |
|
|
C iteration and max_abe_iterations should |
25 |
|
|
C always be 1 |
26 |
|
|
C OPPSdebugLevel - sets internal debug level (default = 0) to |
27 |
|
|
C produce some output for debugging |
28 |
|
|
C PlumeRadius - default = 100 m |
29 |
|
|
C STABILITY_THRESHOLD - threshold of vertical density difference, |
30 |
|
|
C beyond which convection starts |
31 |
|
|
C (default = -1.e-4 kg/m^3) |
32 |
|
|
C FRACTIONAL_AREA - (initial) fractional area that plume(s) |
33 |
|
|
C occupies (default = 0.1) |
34 |
|
|
C MAX_FRACTIONAL_AREA - maximum of above (default = 0.8), not used |
35 |
|
|
C VERTICAL_VELOCITY - initial (positive=downward) vertical |
36 |
|
|
C velocity of plume (default=0.03m/s) |
37 |
|
|
C ENTRAINMENT_RATE - default = - 0.05 |
38 |
|
|
C e2 - 2*ENTRAINMENT_RATE (cannot be set) |
39 |
|
|
C useGCMwVel - flag to replace VERTICAL_VELOCITY with |
40 |
|
|
C actual vertical velocity of GCM, probably |
41 |
|
|
C useless (default = .false.) |
42 |
|
|
C OPPSwriteState - flag to turn on ouput (.false.) |
43 |
|
|
C OPPSdumpFreq - default = dumpFreq (currently there is no |
44 |
|
|
C snap-shot output) |
45 |
|
|
C OPPStaveFreq - default = taveFreq |
46 |
|
|
C |
47 |
|
|
C OPPSconvectCount - counter for freqency of convection events |
48 |
|
|
C----------------------------------------------------------------------- |
49 |
|
|
C \ev |
50 |
|
|
CEOP |
51 |
|
|
|
52 |
|
|
INTEGER MAX_ABE_ITERATIONS |
53 |
|
|
CML default values from original code |
54 |
|
|
CML PARAMETER(MAX_ABE_ITERATIONS=1) |
55 |
|
|
INTEGER OPPSdebugLevel |
56 |
|
|
COMMON /OPPS_PARMS_I/ |
57 |
|
|
& MAX_ABE_ITERATIONS, OPPSdebugLevel |
58 |
|
|
|
59 |
|
|
_RL PlumeRadius |
60 |
|
|
_RL STABILITY_THRESHOLD |
61 |
|
|
_RL FRACTIONAL_AREA |
62 |
|
|
_RL MAX_FRACTIONAL_AREA |
63 |
|
|
_RL VERTICAL_VELOCITY |
64 |
|
|
_RL ENTRAINMENT_RATE |
65 |
|
|
_RL e2 |
66 |
|
|
_RL OPPSdumpFreq |
67 |
|
|
_RL OPPStaveFreq |
68 |
|
|
CML default values from original code |
69 |
|
|
CML PARAMETER ( PlumeRadius = 100.D0 ) |
70 |
|
|
CML PARAMETER ( STABILITY_THRESHOLD = -1.E-4 ) |
71 |
|
|
CML PARAMETER ( FRACTIONAL_AREA = .1E0 ) |
72 |
|
|
CML PARAMETER ( MAX_FRACTIONAL_AREA = .8E0 ) |
73 |
|
|
CML PARAMETER ( VERTICAL_VELOCITY = .02E0 ) |
74 |
|
|
CML PARAMETER ( ENTRAINMENT_RATE = -.05E0 ) |
75 |
|
|
CML PARAMETER ( e2 = 2.E0*ENTRAINMENT_RATE ) |
76 |
|
|
COMMON /OPPS_PARMS_R/ |
77 |
|
|
& PlumeRadius, |
78 |
|
|
& STABILITY_THRESHOLD, |
79 |
|
|
& FRACTIONAL_AREA, |
80 |
|
|
& MAX_FRACTIONAL_AREA, |
81 |
|
|
& VERTICAL_VELOCITY, |
82 |
|
|
& ENTRAINMENT_RATE, |
83 |
|
|
& e2, |
84 |
|
|
& OPPSdumpFreq, OPPStaveFreq |
85 |
|
|
|
86 |
|
|
_RL OPPSconvectCount(1-OLx:sNx+OLx,1-OLy:sNy+OLy, |
87 |
|
|
& Nr,nSx,nSy) |
88 |
|
|
COMMON /OPPS_FIELDS/ OPPSconvectCount |
89 |
|
|
|
90 |
|
|
LOGICAL OPPSisOn, OPPSwriteState, useGCMwVel |
91 |
|
|
CML LOGICAL debug, done |
92 |
|
|
COMMON /OPPS_PARMS_L/ |
93 |
|
|
& OPPSisOn, OPPSwriteState, useGCMwVel |
94 |
|
|
|
95 |
|
|
#endif /* ALLOW_OPPS */ |