/[MITgcm]/MITgcm_contrib/snarayan/divided_adjoint/model/src/set_defaults.F
ViewVC logotype

Contents of /MITgcm_contrib/snarayan/divided_adjoint/model/src/set_defaults.F

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


Revision 1.1 - (show annotations) (download)
Tue May 19 21:32:23 2015 UTC (10 years, 2 months ago) by snarayan
Branch: MAIN
CVS Tags: HEAD
Divided adjoints

Files for the implementing divided adjoints using OpenAD

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

  ViewVC Help
Powered by ViewVC 1.1.22