/[MITgcm]/MITgcm/pkg/kpp/kpp_init_fixed.F
ViewVC logotype

Annotation of /MITgcm/pkg/kpp/kpp_init_fixed.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.2 - (hide annotations) (download)
Fri Nov 14 21:34:48 2008 UTC (15 years, 6 months ago) by dfer
Branch: MAIN
CVS Tags: checkpoint61f, checkpoint61g, checkpoint61n, checkpoint61o, checkpoint61l, checkpoint61m, checkpoint61j, checkpoint61k, checkpoint61h, checkpoint61i, checkpoint61r, checkpoint61s, checkpoint61p, checkpoint61q
Changes since 1.1: +82 -1 lines
- Fix default of minKPPhbl
- move fixed initialization to kpp_init_fixed.F

1 dfer 1.2 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_init_fixed.F,v 1.1 2005/04/29 18:47:02 dimitri Exp $
2 dimitri 1.1 C $Name: $
3    
4     #include "KPP_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: KPP_INIT_FIXED
8     C !INTERFACE:
9     SUBROUTINE KPP_INIT_FIXED( myThid )
10    
11     C !DESCRIPTION: \bv
12     C *==========================================================*
13     C | SUBROUTINE KPP_INIT_FIXED
14     C | o Routine to initialize GM/Redi variables
15     C | that are kept fixed during the run.
16     C *==========================================================*
17     C \ev
18     C !USES:
19     IMPLICIT NONE
20    
21     C === Global variables ===
22     #include "EEPARAMS.h"
23     #include "SIZE.h"
24     #include "PARAMS.h"
25 dfer 1.2 #include "GRID.h"
26     #include "KPP_PARAMS.h"
27 dimitri 1.1
28     C !INPUT/OUTPUT PARAMETERS:
29     C === Routine arguments ===
30     C myThid :: my Thread Id number
31     INTEGER myThid
32     CEOP
33    
34     C !LOCAL VARIABLES:
35     C === Local variables ===
36 dfer 1.2 C i,j,k,bi,bj - Loop counters
37     C zehat - zeta * ustar**3
38     C zeta - Stability parameter d/l
39     INTEGER i, j, k, bi, bj
40     _RL zehat
41     _RL zeta
42     _RL usta
43     _RL p25, p33
44    
45    
46     _BEGIN_MASTER(myThid)
47    
48     p25 = 0.25 _d 0
49     p33 = 1. _d 0 / 3. _d 0
50    
51     C-----------------------------------------------------------------------
52     C Initialize constants that depend on parameters in data.kpp
53     C-----------------------------------------------------------------------
54    
55     Vtc = concv * SQRT(0.2 _d 0 /concs/epsilon) / vonk**2 / Ricr
56     cg = cstar * vonk * (concs * vonk * epsilon)**p33
57    
58     c-----------------------------------------------------------------------
59     c construct the wm and ws lookup tables
60     c-----------------------------------------------------------------------
61    
62     deltaz = (zmax - zmin)/(nni + 1)
63     deltau = (umax - umin)/(nnj + 1)
64    
65     DO i = 0, nni + 1
66     zehat = deltaz*i + zmin
67     DO j = 0, nnj + 1
68     usta = deltau*j + umin
69     zeta = zehat / max(phepsi,usta**3)
70     IF (zehat .GE. 0.) THEN
71     wmt(i,j) = vonk*usta/(1. + conc1*zeta)
72     wst(i,j) = wmt(i,j)
73     ELSE
74     IF (zeta .GT. zetam) THEN
75     wmt(i,j) = vonk*usta*(1. - conc2*zeta)**p25
76     ELSE
77     wmt(i,j) = vonk*(conam*usta**3 - concm*zehat)**p33
78     ENDIF
79     IF (zeta .GT. zetas) THEN
80     wst(i,j) = vonk*usta*SQRT(1. _d 0 - conc3*zeta)
81     ELSE
82     wst(i,j) = vonk*(conas*usta**3 - concs*zehat)**p33
83     ENDIF
84     ENDIF
85     ENDDO
86     ENDDO
87    
88     C-----------------------------------------------------------------------
89     C vertical grid
90     C-----------------------------------------------------------------------
91    
92     IF (minKPPhbl .EQ. UNSET_RL) THEN
93     minKPPhbl = -rC(1)
94     ENDIF
95     zgrid(0) = phepsi
96     hwide(0) = phepsi
97     c zgrid(1) = -drF(1)*0.5
98     c hwide(1) = drF(1)
99     c DO k = 2, Nr
100     c zgrid(k) = zgrid(k-1) - (drF(k-1)+drF(k))*0.5
101     c hwide(k) = drF(k)
102     c ENDDO
103     C- jmc : use the model vertical grid :
104     DO k = 1, Nr
105     zgrid(k) = rC(k)
106     hwide(k) = drF(k)
107     ENDDO
108    
109     zgrid(Nrp1) = zgrid(Nr) * 100.
110    
111     hwide(Nrp1) = phepsi
112    
113     _END_MASTER(myThid)
114     _BARRIER
115 dimitri 1.1
116     #ifdef ALLOW_DIAGNOSTICS
117     IF ( useDiagnostics ) THEN
118     CALL KPP_DIAGNOSTICS_INIT( myThid )
119     ENDIF
120     #endif
121    
122     RETURN
123     END

  ViewVC Help
Powered by ViewVC 1.1.22