/[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.41 by adcroft, Tue Nov 5 18:48:56 2002 UTC revision 1.129 by jmc, Thu Aug 23 19:08:25 2007 UTC
# Line 3  C $Name$ Line 3  C $Name$
3    
4  #include "CPP_OPTIONS.h"  #include "CPP_OPTIONS.h"
5    
6    C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7  CBOP  CBOP
8  C     !ROUTINE: SET_DEFAULTS  C     !ROUTINE: SET_DEFAULTS
9  C     !INTERFACE:  C     !INTERFACE:
# Line 11  C     !INTERFACE: Line 12  C     !INTERFACE:
12       O   hFacMinDrDefault, delRdefault, rkFacDefault,       O   hFacMinDrDefault, delRdefault, rkFacDefault,
13       I   myThid )       I   myThid )
14    
15  C     !DESCRIPTION: \bv  C     !DESCRIPTION:
16  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  
17    
18  C     !USES:  C     !USES:
19        IMPLICIT NONE        IMPLICIT NONE
 C     === Global variables ===  
20  #include "SIZE.h"  #include "SIZE.h"
21  #include "EEPARAMS.h"  #include "EEPARAMS.h"
22  #include "PARAMS.h"  #include "PARAMS.h"
23  Cml#include "EOS.h"  Cml#include "EOS.h"
24  #include "GRID.h"  c#include "GRID.h"
25    
26  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
 C     === Routine arguments ===  
27  C     myThid - Number of this instance of INI_PARMS  C     myThid - Number of this instance of INI_PARMS
28        INTEGER myThid        INTEGER myThid
29        _RL viscArDefault        _RL viscArDefault
# Line 46  C     myThid - Number of this instance o Line 34  C     myThid - Number of this instance o
34        _RS rkFacDefault        _RS rkFacDefault
35    
36  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
 C     === Local variables ===  
37  C     K, I, J - Loop counters  C     K, I, J - Loop counters
38        INTEGER K, I, J        INTEGER K, I, J
39  CEOP  CEOP
40    
41  C--   Grid parameters  C--   Grid parameters
42  C     Vertical gridding  C-    Vertical gridding
43        rkFacDefault         = 1.D0        delRFile            = ' '
44        horiVertRatio        = 1.D0        delRcFile           = ' '
45        Ro_SeaLevel = 0.        rkFacDefault        = 1. _d 0
46          Ro_SeaLevel         = 0.
47        DO k=1,Nr        DO k=1,Nr
48         delRdefault(k) = 0.         delRdefault(k)     = 0.
49        ENDDO        ENDDO
50        DO k=1,Nr+1        DO k=1,Nr+1
51         delRc(k) = UNSET_RL         delRc(k)           = UNSET_RL
52        ENDDO        ENDDO
53    C-    vertical profile
54  C     Horizontal gridding        tRefFile            = ' '
55          sRefFile            = ' '
56          rhoRefFile          = ' '
57    
58    C-    Horizontal gridding
59          delXFile            = ' '
60          delYFile            = ' '
61          horizGridFile       = ' '
62          deepAtmosphere      = .FALSE.
63  C     In cartesian coords distances are in metres  C     In cartesian coords distances are in metres
64        usingCartesianGrid = .TRUE.        usingCartesianGrid  = .FALSE.
65        DO i=1,Nx        DO i=1,Nx
66         delX(i) = UNSET_RL         delX(i)            = UNSET_RL
67        ENDDO        ENDDO
68        DO j=1,Ny        DO j=1,Ny
69         delY(j) = UNSET_RL         delY(j)            = UNSET_RL
70        ENDDO        ENDDO
71  C     In spherical polar distances are in degrees  C     In spherical polar distances are in degrees
72        usingSphericalPolarGrid = .FALSE.        usingSphericalPolarGrid = .FALSE.
73        phiMin               = 0.0        phiMin              = 0.0
74        thetaMin             = 0.        thetaMin            = 0.
75        rSphere              = 6370. * 1.D3        rSphere             = 6370. _d 3
76  C     General curvilinear coordinate system  C     General curvilinear coordinate system
77        usingCurvilinearGrid = .FALSE.        usingCurvilinearGrid= .FALSE.
78    C     General cylindrical coordinate system
79          usingCylindricalGrid= .FALSE.
80    C     Coriolis map:
81          useConstantF        = .FALSE.
82          useBetaPlaneF       = .FALSE.
83          useSphereF          = .TRUE.
84          use3dCoriolis       = .TRUE.
85    
86  C--   Set default "physical" parameters  C--   Set default "physical" parameters
87        DO K =1,Nr        nh_Am2              = 1. _d 0
88         tRef(K) = 30.D0 - FLOAT( K )        gravity             = 9.81 _d 0
89  Cml       sRef(K) = 35.D0        rhoNil              = 999.8 _d 0
90        ENDDO  C-- jmc : the default is to set rhoConstFresh to rhoConst (=rhoNil by default)
91        gravitySign         = 1.D0  C         (so that the default produces same results as before)
92        gravity             = 9.81D0  c     rhoConstFresh       = 999.8 _d 0
93        rhoNil              = 999.8D0        f0                  = 1. _d -4
94        rhoConstFresh       = 999.8D0        beta                = 1. _d -11
95        f0                  = 1.D-4  C-    Earth rotation period is 86400*365.25/366.25 (use to be 1.day)
96        beta                = 1.D-11        rotationPeriod      = 86164. _d 0
97        omega               = 2.D0 * PI / ( 3600.D0 * 24.D0 )        viscAh              = 0. _d 3
98        viscAh              = 0.D3        viscAhGrid          = 0. _d 0
99        viscAstrain         = 0.D3        viscAhGridMin       = 0. _d 0
100        viscAtension        = 0.D3        viscAhGridMax       = 1. _d 21
101        diffKhT             = 0.D3        viscAhMax           = 1. _d 21
102        diffKhS             = 0.D3        viscAhReMax         = 0. _d 0
103        viscArDefault       = 0.D-3        viscC2leith         = 0. _d 0
104          viscC2leithD        = 0. _d 0
105          viscC2smag          = 0. _d 0
106          diffKhT             = 0. _d 3
107          diffKhS             = 0. _d 3
108          viscArDefault       = 0. _d -3
109        no_slip_sides       = .TRUE.        no_slip_sides       = .TRUE.
110        no_slip_bottom      = .TRUE.        no_slip_bottom      = .TRUE.
111        diffKrTDefault      = 0.D-3        sideDragFactor      = 2. _d 0
112        diffKrSDefault      = 0.D-3        bottomDragLinear    = 0.
113        viscA4              = 0.D11        bottomDragQuadratic = 0.
114        diffK4T             = 0.D11        smoothAbsFuncRange  = 0. _d 0
115        diffK4S             = 0.D11        diffKrTDefault      = 0. _d -3
116          diffKrSDefault      = 0. _d -3
117          diffKrBL79surf      = 0. _d 0
118          diffKrBL79deep      = 0. _d 0
119          diffKrBL79scl       = 200. _d 0
120          diffKrBL79Ho        = -2000. _d 0
121          BL79LatVary         = 30
122          diffKrBLEQsurf      = UNSET_RL
123          diffKrBLEQdeep      = UNSET_RL
124          diffKrBLEQscl       = UNSET_RL
125          diffKrBLEQHo        = UNSET_RL
126          viscA4              = 0. _d 11
127          viscA4Grid          = 0. _d 0
128          viscA4GridMax       = 1. _d 21
129          viscA4GridMin       = 0. _d 0
130          viscA4Max           = 1. _d 21
131          viscA4ReMax         = 0. _d 0
132          viscC4leith         = 0. _d 0
133          viscC4leithD        = 0. _d 0
134          viscC4smag          = 0. _d 0
135          diffK4T             = 0. _d 11
136          diffK4S             = 0. _d 11
137        cosPower            = 0.        cosPower            = 0.
138        HeatCapacity_Cp     = 3994.D0        HeatCapacity_Cp     = 3994. _d 0
139  Cml      tAlpha              = 2.D-4  Cml      tAlpha              = 2. _d -4
140  Cml      sBeta               = 7.4D-4  Cml      sBeta               = 7.4 _d -4
141        eosType             = 'LINEAR'        eosType             = 'LINEAR'
142        buoyancyRelation    = 'OCEANIC'        buoyancyRelation    = 'OCEANIC'
143        hFacMin             = 1.D0        hFacMin             = 1. _d 0
144        hFacMinDrDefault    = 0.D0        hFacMinDrDefault    = 0. _d 0
145          implicitIntGravWave = .FALSE.
146        staggerTimeStep     = .FALSE.        staggerTimeStep     = .FALSE.
147        momViscosity        = .TRUE.        momViscosity        = .TRUE.
148        momAdvection        = .TRUE.        momAdvection        = .TRUE.
# Line 127  Cml      sBeta               = 7.4D-4 Line 157  Cml      sBeta               = 7.4D-4
157        saltStepping        = .TRUE.        saltStepping        = .TRUE.
158        saltAdvection       = .TRUE.        saltAdvection       = .TRUE.
159        saltForcing         = .TRUE.        saltForcing         = .TRUE.
       tr1Stepping         = .FALSE.  
160        metricTerms         = .TRUE.        metricTerms         = .TRUE.
161        useNHMTerms         = .TRUE.        useNHMTerms         = .FALSE.
162          useFullLeith        = .FALSE.
163          useAreaViscLength   = .FALSE.
164          useStrainTensionVisc= .FALSE.
165        implicitDiffusion   = .FALSE.        implicitDiffusion   = .FALSE.
166        implicitViscosity   = .FALSE.        implicitViscosity   = .FALSE.
167          momImplVertAdv      = .FALSE.
168          tempImplVertAdv     = .FALSE.
169          saltImplVertAdv     = .FALSE.
170        nonHydrostatic      = .FALSE.        nonHydrostatic      = .FALSE.
171          quasiHydrostatic    = .FALSE.
172        globalFiles         = .FALSE.        globalFiles         = .FALSE.
173          useSingleCpuIO      = .FALSE.
174        allowFreezing       = .FALSE.        allowFreezing       = .FALSE.
175        ivdc_kappa          = 0.D0        useOldFreezing      = .FALSE.
176        groundAtK1          = .FALSE.        ivdc_kappa          = 0. _d 0
177        bottomDragLinear    = 0.        hMixCriteria        = -.8 _d 0
178        bottomDragQuadratic = 0.        usePickupBeforeC54    = .FALSE.
       usePickupBeforeC35    = .FALSE.  
179        debugMode             = .FALSE.        debugMode             = .FALSE.
       readPickupWithTracer  = .FALSE.  
       writePickupWithTracer = .FALSE.  
180        tempAdvScheme       = 2        tempAdvScheme       = 2
181        saltAdvScheme       = 2        saltAdvScheme       = 2
       tracerAdvScheme     = 2  
182        multiDimAdvection   = .TRUE.        multiDimAdvection   = .TRUE.
183          useMultiDimAdvec    = .FALSE.
184          useCDscheme         = .FALSE.
185        useEnergyConservingCoriolis = .FALSE.        useEnergyConservingCoriolis = .FALSE.
186        useJamartWetPoints  = .FALSE.        useJamartWetPoints  = .FALSE.
187          useJamartMomAdv     = .FALSE.
188          SadournyCoriolis    = .FALSE.
189          upwindVorticity     = .FALSE.
190          highOrderVorticity  = .FALSE.
191          useAbsVorticity     = .FALSE.
192          upwindShear         = .FALSE.
193          selectKEscheme      = 0
194          debugLevel          = debLevA
195          inAdMode            = .FALSE.
196          inAdExact           = .TRUE.
197    
198  C--   Set (free)surface-related parameters  C--   Set (free)surface-related parameters
199        implicitFreeSurface = .TRUE.        implicitFreeSurface = .FALSE.
200        rigidLid            = .FALSE.        rigidLid            = .FALSE.
201        implicSurfPress     = 1.D0        implicSurfPress     = 1. _d 0
202        implicDiv2DFlow     = 1.D0        implicDiv2DFlow     = 1. _d 0
203        exactConserv        = .FALSE.        exactConserv        = .FALSE.
204          linFSConserveTr     = .FALSE.
205        uniformLin_PhiSurf  = .TRUE.        uniformLin_PhiSurf  = .TRUE.
206        nonlinFreeSurf      = 0        nonlinFreeSurf      = 0
207        hFacInf             = 1.D0        hFacInf             = 0.2 _d 0
208        hFacSup             = 1.D0        hFacSup             = 2.0 _d 0
209          select_rStar        = 0
210        useRealFreshWaterFlux = .FALSE.        useRealFreshWaterFlux = .FALSE.
211        temp_EvPrRn = UNSET_RL        temp_EvPrRn = UNSET_RL
212        salt_EvPrRn = 0.        salt_EvPrRn = 0.
213        trac_EvPrRn = UNSET_RL        balanceEmPmR        = .FALSE.
214          balanceQnet         = .FALSE.
215          balancePrintMean    = .FALSE.
216    
217  C--   Atmospheric physical parameters (e.g.: EOS)  C--   Atmospheric physical parameters (e.g.: EOS)
218        atm_po =  1.D5        celsius2K = 273.16 _d 0
219        atm_cp =  1004.D0        atm_Po =  1. _d 5
220        atm_kappa = 2.D0 / 7.D0        atm_Cp = 1004. _d 0
221        Integr_GeoPot = 2        atm_Rd = UNSET_RL
222          atm_kappa = 2. _d 0 / 7. _d 0
223          atm_Rq = 0. _d 0
224          integr_GeoPot = 2
225          selectFindRoSurf = 0
226    
227  C--   Elliptic solver parameters  C--   Elliptic solver parameters
228        cg2dMaxIters       = 150        cg2dMaxIters       = 150
229        cg2dTargetResidual = 1.D-7        cg2dTargetResidual = 1. _d -7
230        cg2dTargetResWunit = -1.        cg2dTargetResWunit = -1.
231        cg2dChkResFreq     = 1        cg2dChkResFreq     = 1
232        cg2dpcOffDFac      = 0.51D0        cg2dpcOffDFac      = 0.51 _d 0
233          cg2dPreCondFreq    = 1
234        cg3dMaxIters       = 150        cg3dMaxIters       = 150
235        cg3dTargetResidual = 1.D-7        cg3dTargetResidual = 1. _d -7
236        cg3dChkResFreq     = 1        cg3dChkResFreq     = 1
237    
238  C--   Time stepping parameters  C--   Time stepping parameters
239        deltaT            = 0.        deltaT            = 0. _d 0
240          deltaTmom         = 0. _d 0
241          deltaTfreesurf    = 0. _d 0
242          DO k=1,Nr
243            dTtracerLev(k)  = 0. _d 0
244          ENDDO
245          baseTime          = 0. _d 0
246        nIter0            = 0        nIter0            = 0
247        startTime         = deltaT*float(nIter0)        startTime         = deltaT*float(nIter0)
248          pickupSuff        = ' '
249        nTimeSteps        = 0        nTimeSteps        = 0
250        nEndIter          = nIter0+nTimeSteps        nEndIter          = nIter0+nTimeSteps
251        endTime           = deltaT*float(nEndIter)        endTime           = deltaT*float(nEndIter)
252        forcing_In_AB     = .TRUE.        momForcingOutAB   = UNSET_I
253        abEps             = 0.01        tracForcingOutAB  = UNSET_I
254        pchkPtFreq        = deltaT*0        momDissip_In_AB   = .TRUE.
255          doAB_onGtGs       = .TRUE.
256          abEps             = 0.01 _d 0
257    #ifdef ALLOW_ADAMSBASHFORTH_3
258          alph_AB           = 0.5 _d 0
259          beta_AB           = 5. _d 0 / 12. _d 0
260          startFromPickupAB2= .FALSE.
261    #else
262          alph_AB           = UNSET_RL
263          beta_AB           = UNSET_RL
264          startFromPickupAB2= .TRUE.
265    #endif
266          pChkPtFreq        = deltaT*0
267        chkPtFreq         = deltaT*0        chkPtFreq         = deltaT*0
268          outputTypesInclusive = .FALSE.
269          pickup_read_mdsio = .TRUE.
270          pickup_write_mdsio= .TRUE.
271          pickup_write_immed= .FALSE.
272        dumpFreq          = deltaT*0        dumpFreq          = deltaT*0
273          adjDumpFreq       = deltaT*0
274        diagFreq          = deltaT*0        diagFreq          = deltaT*0
275          dumpInitAndLast   = .TRUE.
276          snapshot_mdsio    = .TRUE.
277        monitorFreq       = -1.        monitorFreq       = -1.
278          adjMonitorFreq    = 0.
279          monitor_stdio     = .TRUE.
280        taveFreq          = deltaT*0        taveFreq          = deltaT*0
281          timeave_mdsio     = .TRUE.
282        tave_lastIter     = 0.5 _d 0        tave_lastIter     = 0.5 _d 0
283        writeStatePrec    = precFloat64        writeStatePrec    = precFloat64
284        writeBinaryPrec   = precFloat32        writeBinaryPrec   = precFloat32
# Line 203  C--   Time stepping parameters Line 286  C--   Time stepping parameters
286        nCheckLev         = 1        nCheckLev         = 1
287        checkPtSuff(1)    = 'ckptA'        checkPtSuff(1)    = 'ckptA'
288        checkPtSuff(2)    = 'ckptB'        checkPtSuff(2)    = 'ckptB'
289        cAdjFreq          =  0.D0        cAdjFreq          =  0. _d 0
290        tauCD             =  0.D0        tauCD             =  0. _d 0
291        tauThetaClimRelax =  0.D0        tauThetaClimRelax =  0. _d 0
292        tauSaltClimRelax  =  0.D0        tauSaltClimRelax  =  0. _d 0
293        tauTr1ClimRelax   =  0.D0        tauTr1ClimRelax   =  0. _d 0
294        periodicExternalForcing = .FALSE.        periodicExternalForcing = .FALSE.
295        externForcingPeriod     = 0.        externForcingPeriod     = 0.
296        externForcingCycle      = 0.        externForcingCycle      = 0.
297          tCylIn             = 0.
298          tCylOut            = 20.
299    
300  C--   Input files  C--   Input files
301        bathyFile       = ' '        bathyFile       = ' '
302        topoFile        = ' '        topoFile        = ' '
303          shelfIceFile    = ' '
304        hydrogSaltFile  = ' '        hydrogSaltFile  = ' '
305        hydrogThetaFile = ' '        hydrogThetaFile = ' '
306          diffKrFile      = ' '
307        zonalWindFile   = ' '        zonalWindFile   = ' '
308        meridWindFile   = ' '        meridWindFile   = ' '
309        thetaClimFile   = ' '        thetaClimFile   = ' '
310        saltClimFile    = ' '        saltClimFile    = ' '
311        EmPmRfile       = ' '        EmPmRfile       = ' '
312          saltFluxFile    = ' '
313        surfQfile       = ' '        surfQfile       = ' '
314        surfQswfile     = ' '        surfQnetFile    = ' '
315          surfQswFile     = ' '
316        uVelInitFile    = ' '        uVelInitFile    = ' '
317        vVelInitFile    = ' '        vVelInitFile    = ' '
318        pSurfInitFile   = ' '        pSurfInitFile   = ' '
319        dQdTFile        = ' '        dQdTFile        = ' '
320        ploadFile       = ' '        ploadFile       = ' '
321          eddyTauxFile    = ' '
322          eddyTauyFile    = ' '
323          lambdaThetaFile = ' '
324          lambdaSaltFile  = ' '
325          mdsioLocalDir   = ' '
326          the_run_name    = ' '
327    
 C  
328        RETURN        RETURN
329        END        END

Legend:
Removed from v.1.41  
changed lines
  Added in v.1.129

  ViewVC Help
Powered by ViewVC 1.1.22