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

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

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


Revision 1.1 - (hide annotations) (download)
Tue Sep 12 18:14:32 2000 UTC (23 years, 9 months ago) by heimbach
Branch: MAIN
Updated version by D. Menemenlis.
Takes new unit and sign conventions for forcing fields into account.
Includes changes of Ralf in ecco_c30_05.09.
Yet to be fully tested.

1 heimbach 1.1 #include "KPP_OPTIONS.h"
2    
3     SUBROUTINE KPP_READPARMS( myThid )
4     C /==========================================================\
5     C | SUBROUTINE KPP_READPARMS |
6     C | o Routine to read in file data.kpp |
7     C \==========================================================/
8     IMPLICIT NONE
9    
10     C === Global variables ===
11     #include "SIZE.h"
12     #include "EEPARAMS.h"
13     #include "PARAMS.h"
14     #include "GRID.h"
15     #include "KPP_PARAMS.h"
16    
17     C === Routine arguments ===
18     C myThid - Number of this instance of KPP_INIT
19     INTEGER myThid
20    
21     #ifdef ALLOW_KPP
22    
23     C === Local variables ===
24     C msgBuf - Informational/error meesage buffer
25     C errIO - IO error flag
26     C iUnit - Work variable for IO unit number
27     C k - Loop counter
28    
29     CHARACTER*(MAX_LEN_MBUF) msgBuf
30     INTEGER errIO, iUnit, k
31    
32     C-- KPP vertical mixing parameters
33     NAMELIST /KPP_PARM01/
34     & kpp_freq, kpp_dumpFreq, kpp_taveFreq,
35     & KPPmixingMaps, KPPwriteState,
36     & minKPPviscAz, maxKPPviscAz, minKPPghat, maxKPPghat,
37     & minKPPdiffKzT, maxKPPdiffKzT, minKPPdiffKzS, maxKPPdiffKzS,
38     & minKPPhbl,
39     & epsln, phepsi, epsilon, vonk, dB_dz,
40     & conc1, conam, concm, conc2, zetam,
41     & conas, concs, conc3, zetas,
42     & Ricr, cekman, cmonob, concv, hbf,
43     & zmin, zmax, umin, umax,
44     & num_v_smooth_Ri, num_v_smooth_BV,
45     & num_z_smooth_sh, num_m_smooth_sh,
46     & Riinfty, BVSQcon, difm0, difs0, dift0,
47     & difmcon, difscon, diftcon,
48     & cstar
49    
50     kppPackageIsOn = .TRUE.
51    
52     _BEGIN_MASTER(myThid)
53    
54     WRITE(msgBuf,'(A)') ' KPP_INIT: opening data.kpp'
55     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
56     & SQUEEZE_RIGHT , 1)
57    
58    
59     CALL OPEN_COPY_DATA_FILE(
60     I 'data.kpp', 'KPP_INIT',
61     O iUnit,
62     I myThid )
63    
64     C-- set default KPP vertical mixing parameters
65     kpp_freq = deltaTClock
66     kpp_dumpFreq = 0.
67     kpp_taveFreq = 0.
68     KPPmixingMaps = .FALSE.
69     KPPwriteState = .FALSE.
70     minKPPghat = 0.
71     maxKPPghat = 1.e10
72     minKPPviscAz = 0.
73     DO k = 1,Nr
74     maxKPPviscAz(k) = 100.
75     ENDDO
76     minKPPdiffKzT = 0.
77     maxKPPdiffKzT = 100.
78     minKPPdiffKzS = 0.
79     maxKPPdiffKzS = 100.
80     minKPPhbl = delZ(1)*0.5
81    
82     C-----------------------------------------------------------------------
83     C define some non-dimensional constants and
84     C the vertical mixing coefficients in m-k-s units
85     C-----------------------------------------------------------------------
86    
87     epsln = 1.e-20
88     phepsi = 1.e-10
89     epsilon = 0.1
90     vonk = 0.40
91     dB_dz = 5.2e-5
92     conc1 = 5.0
93     conam = 1.257
94     concm = 8.380
95     conc2 = 16.0
96     zetam = -0.2
97     conas = -28.86
98     concs = 98.96
99     conc3 = 16.0
100     zetas = -1.0
101    
102     c parameters for subroutine "bldepth"
103    
104     Ricr = 0.30
105     cekman = 0.7
106     cmonob = 1.0
107     concv = 1.8
108     hbf = 1.0
109    
110     c parameters and common arrays for subroutines
111     c "kmixinit" and "wscale"
112    
113     zmin = -4.e-7
114     zmax = 0.0
115     umin = 0.0
116     umax = .04
117    
118     c parameters for subroutine "Ri_iwmix"
119    
120     num_v_smooth_Ri = 0
121     num_v_smooth_BV = 0
122     num_z_smooth_sh = 0
123     num_m_smooth_sh = 0
124     Riinfty = 0.7
125     BVSQcon = -0.2e-4
126    
127     difm0 = 0.005
128     difs0 = 0.005
129     dift0 = 0.005
130    
131     difmcon = 0.1
132     difscon = 0.1
133     diftcon = 0.1
134    
135     C parameters for subroutine "blmix"
136    
137     cstar = 10.
138    
139     C-----------------------------------------------------------------------
140    
141     C-- Read settings from model parameter file "data.kpp".
142     READ(UNIT=iUnit,NML=KPP_PARM01,IOSTAT=errIO)
143     IF ( errIO .LT. 0 ) THEN
144     WRITE(msgBuf,'(A)')
145     & 'S/R INI_PARMS'
146     CALL PRINT_ERROR( msgBuf , 1)
147     WRITE(msgBuf,'(A)')
148     & 'Error reading numerical model '
149     CALL PRINT_ERROR( msgBuf , 1)
150     WRITE(msgBuf,'(A)')
151     & 'parameter file "data.kpp"'
152     CALL PRINT_ERROR( msgBuf , 1)
153     WRITE(msgBuf,'(A)')
154     & 'Problem in namelist KPP_PARM01'
155     CALL PRINT_ERROR( msgBuf , 1)
156     C CALL MODELDATA_EXAMPLE( myThid )
157     STOP 'ABNORMAL END: S/R KPP_INIT'
158     ENDIF
159    
160     CLOSE(iUnit)
161    
162     WRITE(msgBuf,'(A)') ' KPP_INIT: finished reading data.kpp'
163     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
164     & SQUEEZE_RIGHT , 1)
165    
166     _END_MASTER(myThid)
167    
168     C-- Everyone else must wait for the parameters to be loaded
169     _BARRIER
170    
171     #endif /* ALLOW_KPP */
172    
173     return
174     end

  ViewVC Help
Powered by ViewVC 1.1.22