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

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

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

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

Legend:
Removed from v.1.55  
changed lines
  Added in v.1.177

  ViewVC Help
Powered by ViewVC 1.1.22