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

Annotation 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 - (hide 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 snarayan 1.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