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

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

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


Revision 1.2 - (show 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 C $Header: /u/gcmpack/MITgcm/pkg/kpp/kpp_init_fixed.F,v 1.1 2005/04/29 18:47:02 dimitri Exp $
2 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 #include "GRID.h"
26 #include "KPP_PARAMS.h"
27
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 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
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