/[MITgcm]/MITgcm/model/src/set_defaults.F
ViewVC logotype

Contents of /MITgcm/model/src/set_defaults.F

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


Revision 1.183 - (show annotations) (download)
Wed Oct 4 20:34:23 2017 UTC (6 years, 6 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, checkpoint66m, checkpoint66l, HEAD
Changes since 1.182: +2 -1 lines
add run-time param to allow to turn off tidal forcing.

1 C $Header: /u/gcmpack/MITgcm/model/src/set_defaults.F,v 1.182 2017/05/02 18:13:20 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
8 CBOP
9 C !ROUTINE: SET_DEFAULTS
10 C !INTERFACE:
11 SUBROUTINE SET_DEFAULTS(
12 O viscArDefault, diffKrTDefault, diffKrSDefault,
13 O hFacMinDrDefault, delRdefault,
14 I myThid )
15
16 C !DESCRIPTION:
17 C Routine to set model "parameter defaults".
18
19 C !USES:
20 IMPLICIT NONE
21 #include "SIZE.h"
22 #include "EEPARAMS.h"
23 #include "PARAMS.h"
24 #ifdef ALLOW_EXCH2
25 # include "W2_EXCH2_SIZE.h"
26 #endif /* ALLOW_EXCH2 */
27 #include "SET_GRID.h"
28
29 C !INPUT/OUTPUT PARAMETERS:
30 C myThid :: my Thread Id. Number
31 INTEGER myThid
32 _RL viscArDefault
33 _RL diffKrTDefault
34 _RL diffKrSDefault
35 _RL hFacMinDrDefault
36 _RL delRDefault(Nr)
37
38 C !LOCAL VARIABLES:
39 C i, j, k :: Loop counters
40 INTEGER i, j, k
41 CEOP
42
43 C-- Grid parameters
44 C- Vertical gridding
45 delRFile = ' '
46 delRcFile = ' '
47 hybSigmFile = ' '
48 seaLev_Z = UNSET_RL
49 top_Pres = UNSET_RL
50 rSigmaBnd = UNSET_RL
51 selectSigmaCoord = 0
52 DO k=1,Nr
53 delRdefault(k) = 0.
54 ENDDO
55 DO k=1,Nr+1
56 delRc(k) = UNSET_RL
57 ENDDO
58 useMin4hFacEdges = .FALSE.
59 C- vertical profile
60 tRefFile = ' '
61 sRefFile = ' '
62 rhoRefFile = ' '
63 gravityFile = ' '
64 thetaConst = UNSET_RL
65 DO k=1,Nr
66 tRef(k) = UNSET_RL
67 sRef(k) = UNSET_RL
68 ENDDO
69
70 C- Horizontal gridding
71 delXFile = ' '
72 delYFile = ' '
73 horizGridFile = ' '
74 deepAtmosphere = .FALSE.
75 xgOrigin = UNSET_RL
76 ygOrigin = UNSET_RL
77 DO i=1,grid_maxNx
78 delX(i) = UNSET_RL
79 ENDDO
80 DO j=1,grid_maxNy
81 delY(j) = UNSET_RL
82 ENDDO
83 C In cartesian coords distances are in metres
84 usingCartesianGrid = .FALSE.
85 C In spherical polar distances are in degrees
86 usingSphericalPolarGrid = .FALSE.
87 rSphere = UNSET_RL
88 C General curvilinear coordinate system
89 usingCurvilinearGrid= .FALSE.
90 radius_fromHorizGrid= UNSET_RL
91 hasWetCSCorners = .FALSE.
92 C General cylindrical coordinate system
93 usingCylindricalGrid= .FALSE.
94 C Coriolis map:
95 selectCoriMap = -1
96 use3dCoriolis = .TRUE.
97 C grid rotation
98 rotateGrid = .FALSE.
99 phiEuler = 0. _d 0
100 thetaEuler = 0. _d 0
101 psiEuler = 0. _d 0
102
103 C-- Set default "physical" parameters
104 nh_Am2 = 1. _d 0
105 gravity = 9.81 _d 0
106 gBaro = UNSET_RL
107 rhoNil = 999.8 _d 0
108 rhoConst = UNSET_RL
109 C-- jmc : the default is to set rhoConstFresh to rhoConst (=rhoNil by default)
110 C (so that the default produces same results as before)
111 c rhoConstFresh = 999.8 _d 0
112 rhoConstFresh = UNSET_RL
113 convertFW2Salt = UNSET_RL
114 f0 = 1. _d -4
115 beta = 1. _d -11
116 fPrime = 0. _d 0
117 C- Earth rotation period is 86400*365.25/366.25 (use to be 1.day)
118 rotationPeriod = 86164. _d 0
119 omega = UNSET_RL
120 C- viscosity and diffusivity default value:
121 viscAh = 0. _d 3
122 smag3D_coeff = 1. _d -2
123 viscAhGrid = 0. _d 0
124 viscAhGridMin = 0. _d 0
125 viscAhGridMax = 1. _d 21
126 viscAhMax = 1. _d 21
127 viscAhReMax = 0. _d 0
128 viscC2leith = 0. _d 0
129 viscC2leithD = 0. _d 0
130 viscC2smag = 0. _d 0
131 viscArDefault = 0. _d -3
132 viscFacAdj = 1. _d 0
133 no_slip_sides = .TRUE.
134 no_slip_bottom = .TRUE.
135 bottomVisc_pCell = .FALSE.
136 sideDragFactor = 2. _d 0
137 bottomDragLinear = 0.
138 bottomDragQuadratic = 0.
139 selectBotDragQuadr = -1
140 viscA4 = 0. _d 11
141 viscA4Grid = 0. _d 0
142 viscA4GridMax = 1. _d 21
143 viscA4GridMin = 0. _d 0
144 viscA4Max = 1. _d 21
145 viscA4ReMax = 0. _d 0
146 viscC4leith = 0. _d 0
147 viscC4leithD = 0. _d 0
148 viscC4smag = 0. _d 0
149 DO k=1,Nr
150 viscArNr(k) = UNSET_RL
151 ENDDO
152 cosPower = 0.
153 diffKhT = 0. _d 3
154 diffKhS = 0. _d 3
155 diffK4T = 0. _d 11
156 diffK4S = 0. _d 11
157 diffKrTDefault = 0. _d -3
158 diffKrSDefault = 0. _d -3
159 diffKrBL79surf = 0. _d 0
160 diffKrBL79deep = 0. _d 0
161 diffKrBL79scl = 200. _d 0
162 diffKrBL79Ho = -2000. _d 0
163 BL79LatVary = 30.
164 diffKrBLEQsurf = UNSET_RL
165 diffKrBLEQdeep = UNSET_RL
166 diffKrBLEQscl = UNSET_RL
167 diffKrBLEQHo = UNSET_RL
168 DO k=1,Nr
169 diffKrNrT(k) = UNSET_RL
170 diffKrNrS(k) = UNSET_RL
171 diffKr4T(k) = 0.
172 diffKr4S(k) = 0.
173 ENDDO
174 HeatCapacity_Cp = 3994. _d 0
175 eosType = 'LINEAR'
176 buoyancyRelation = 'OCEANIC'
177 selectP_inEOS_Zc = UNSET_I
178 smoothAbsFuncRange = 0. _d 0
179 hFacMin = 1. _d 0
180 hFacMinDrDefault = 0. _d 0
181 implicitIntGravWave = .FALSE.
182 staggerTimeStep = .FALSE.
183 applyExchUV_early = .FALSE.
184 doResetHFactors = .FALSE.
185 momViscosity = .TRUE.
186 momAdvection = .TRUE.
187 momForcing = .TRUE.
188 momTidalForcing = .TRUE.
189 useCoriolis = .TRUE.
190 momPressureForcing = .TRUE.
191 momStepping = .TRUE.
192 vectorInvariantMomentum = .FALSE.
193 tempStepping = .TRUE.
194 tempAdvection = .TRUE.
195 tempForcing = .TRUE.
196 saltStepping = .TRUE.
197 saltAdvection = .TRUE.
198 saltForcing = .TRUE.
199 addFrictionHeating = .FALSE.
200 metricTerms = .TRUE.
201 useNHMTerms = .FALSE.
202 useSmag3D = .FALSE.
203 useFullLeith = .FALSE.
204 useAreaViscLength = .FALSE.
205 useStrainTensionVisc= .FALSE.
206 implicitDiffusion = .FALSE.
207 implicitViscosity = .FALSE.
208 selectImplicitDrag = 0
209 momImplVertAdv = .FALSE.
210 tempImplVertAdv = .FALSE.
211 saltImplVertAdv = .FALSE.
212 nonHydrostatic = .FALSE.
213 quasiHydrostatic = .FALSE.
214 globalFiles = .FALSE.
215 useSingleCpuIO = .FALSE.
216 useSingleCpuInput = .FALSE.
217 allowFreezing = .FALSE.
218 ivdc_kappa = 0. _d 0
219 hMixCriteria = -.8 _d 0
220 dRhoSmall = 1. _d -6
221 hMixSmooth = 0. _d 0
222 usePickupBeforeC54 = .FALSE.
223 tempAdvScheme = 2
224 saltAdvScheme = 2
225 multiDimAdvection = .TRUE.
226 useMultiDimAdvec = .FALSE.
227 useCDscheme = .FALSE.
228 useEnergyConservingCoriolis = .FALSE.
229 useJamartWetPoints = .FALSE.
230 useJamartMomAdv = .FALSE.
231 selectVortScheme = UNSET_I
232 upwindVorticity = .FALSE.
233 highOrderVorticity = .FALSE.
234 useAbsVorticity = .FALSE.
235 upwindShear = .FALSE.
236 selectKEscheme = 0
237 IF ( debugMode ) THEN
238 debugLevel = debLevD
239 ELSE
240 debugLevel = debLevB
241 #ifdef ALLOW_AUTODIFF
242 debugLevel = debLevA
243 #endif
244 ENDIF
245
246 C-- Set (free)surface-related parameters
247 implicitFreeSurface = .FALSE.
248 rigidLid = .FALSE.
249 implicSurfPress = 1. _d 0
250 implicDiv2DFlow = 1. _d 0
251 exactConserv = .FALSE.
252 linFSConserveTr = .FALSE.
253 uniformLin_PhiSurf = .TRUE.
254 nonlinFreeSurf = 0
255 hFacInf = 0.2 _d 0
256 hFacSup = 2.0 _d 0
257 select_rStar = 0
258 selectNHfreeSurf = 0
259 selectAddFluid = 0
260 useRealFreshWaterFlux = .FALSE.
261 temp_EvPrRn = UNSET_RL
262 salt_EvPrRn = 0.
263 temp_addMass = UNSET_RL
264 salt_addMass = UNSET_RL
265 balanceEmPmR = .FALSE.
266 balanceQnet = .FALSE.
267 balancePrintMean = .FALSE.
268 balanceThetaClimRelax = .FALSE.
269 balanceSaltClimRelax = .FALSE.
270
271 C-- Atmospheric physical parameters (e.g.: EOS)
272 celsius2K = 273.15 _d 0
273 atm_Po = 1. _d 5
274 atm_Cp = 1004. _d 0
275 atm_Rd = UNSET_RL
276 atm_kappa = 2. _d 0 / 7. _d 0
277 atm_Rq = 0. _d 0
278 integr_GeoPot = 2
279 selectFindRoSurf = 0
280
281 C-- Elliptic solver parameters
282 cg2dMaxIters = 150
283 cg2dTargetResidual = 1. _d -7
284 cg2dTargetResWunit = -1.
285 cg2dChkResFreq = 1
286 cg2dUseMinResSol = UNSET_I
287 cg2dpcOffDFac = 0.51 _d 0
288 cg2dPreCondFreq = 1
289 cg3dMaxIters = 150
290 cg3dTargetResidual = 1. _d -7
291 cg3dChkResFreq = 1
292 useSRCGSolver = .FALSE.
293
294 C-- Time stepping parameters
295 deltaT = 0. _d 0
296 deltaTMom = 0. _d 0
297 deltaTFreeSurf = 0. _d 0
298 DO k=1,Nr
299 dTtracerLev(k) = 0. _d 0
300 ENDDO
301 baseTime = 0. _d 0
302 nIter0 = -1
303 startTime = UNSET_RL
304 nTimeSteps = 0
305 nTimeSteps_l2 = 0
306 nEndIter = 0
307 endTime = 0. _d 0
308 momForcingOutAB = UNSET_I
309 tracForcingOutAB = UNSET_I
310 momDissip_In_AB = .TRUE.
311 doAB_onGtGs = .TRUE.
312 abEps = 0.01 _d 0
313 #ifdef ALLOW_ADAMSBASHFORTH_3
314 alph_AB = 0.5 _d 0
315 beta_AB = 5. _d 0 / 12. _d 0
316 startFromPickupAB2= .FALSE.
317 #else
318 alph_AB = UNSET_RL
319 beta_AB = UNSET_RL
320 startFromPickupAB2= .TRUE.
321 #endif
322 cAdjFreq = 0. _d 0
323 tauCD = 0. _d 0
324 tauThetaClimRelax = 0. _d 0
325 tauSaltClimRelax = 0. _d 0
326 periodicExternalForcing = .FALSE.
327 externForcingPeriod = 0.
328 externForcingCycle = 0.
329 tCylIn = 0.
330 tCylOut = 20.
331 C- I/O params:
332 pickupSuff = ' '
333 pickupStrictlyMatch = .TRUE.
334 pChkPtFreq = deltaT*0
335 chkPtFreq = deltaT*0
336 outputTypesInclusive = .FALSE.
337 pickup_read_mdsio = .TRUE.
338 pickup_write_mdsio= .TRUE.
339 pickup_write_immed= .FALSE.
340 writePickupAtEnd = .TRUE.
341 dumpFreq = deltaT*0
342 adjDumpFreq = deltaT*0
343 diagFreq = deltaT*0
344 dumpInitAndLast = .TRUE.
345 snapshot_mdsio = .TRUE.
346 monitorFreq = -1.
347 adjMonitorFreq = 0.
348 monitorSelect = UNSET_I
349 monitor_stdio = .TRUE.
350 taveFreq = deltaT*0
351 timeave_mdsio = .TRUE.
352 tave_lastIter = 0.5 _d 0
353 readBinaryPrec = precFloat32
354 writeBinaryPrec = precFloat32
355 writeStatePrec = precFloat64
356 rwSuffixType = 0
357
358 C-- Input files
359 bathyFile = ' '
360 topoFile = ' '
361 addWwallFile = ' '
362 addSwallFile = ' '
363 hydrogSaltFile = ' '
364 hydrogThetaFile = ' '
365 maskIniTemp = .TRUE.
366 maskIniSalt = .TRUE.
367 checkIniTemp = .TRUE.
368 checkIniSalt = .TRUE.
369 diffKrFile = ' '
370 viscAhDfile = ' '
371 viscAhZfile = ' '
372 viscA4Dfile = ' '
373 viscA4Zfile = ' '
374 zonalWindFile = ' '
375 meridWindFile = ' '
376 thetaClimFile = ' '
377 saltClimFile = ' '
378 EmPmRfile = ' '
379 saltFluxFile = ' '
380 surfQfile = ' '
381 surfQnetFile = ' '
382 surfQswFile = ' '
383 uVelInitFile = ' '
384 vVelInitFile = ' '
385 pSurfInitFile = ' '
386 pLoadFile = ' '
387 addMassFile = ' '
388 eddyPsiXFile = ' '
389 eddyPsiYFile = ' '
390 geothermalFile = ' '
391 lambdaThetaFile = ' '
392 lambdaSaltFile = ' '
393 mdsioLocalDir = ' '
394 adTapeDir = ' '
395 the_run_name = ' '
396
397 RETURN
398 END

  ViewVC Help
Powered by ViewVC 1.1.22