| 1 | C $Header: /u/u0/gcmpack/MITgcm/model/src/set_defaults.F,v 1.50 2003/07/08 15:00:26 heimbach Exp $ | 
| 2 | C $Name:  $ | 
| 3 |  | 
| 4 | #include "CPP_OPTIONS.h" | 
| 5 |  | 
| 6 | CBOP | 
| 7 | C     !ROUTINE: SET_DEFAULTS | 
| 8 | C     !INTERFACE: | 
| 9 | SUBROUTINE SET_DEFAULTS( | 
| 10 | O   viscArDefault, diffKrTDefault, diffKrSDefault, | 
| 11 | O   hFacMinDrDefault, delRdefault, rkFacDefault, | 
| 12 | I   myThid ) | 
| 13 |  | 
| 14 | C     !DESCRIPTION: \bv | 
| 15 | C     *==========================================================* | 
| 16 | C     | SUBROUTINE SET_DEFAULTS | 
| 17 | C     | o Routine to set model "parameters" | 
| 18 | C     *==========================================================* | 
| 19 | C     | Notes: | 
| 20 | C     | ====== | 
| 21 | C     | The present version of this routine is a place-holder. | 
| 22 | C     | A production version needs to handle parameters from an | 
| 23 | C     | external file and possibly reading in some initial field | 
| 24 | C     | values. | 
| 25 | C     *==========================================================* | 
| 26 | C     \ev | 
| 27 |  | 
| 28 | C     !USES: | 
| 29 | IMPLICIT NONE | 
| 30 | C     === Global variables === | 
| 31 | #include "SIZE.h" | 
| 32 | #include "EEPARAMS.h" | 
| 33 | #include "PARAMS.h" | 
| 34 | Cml#include "EOS.h" | 
| 35 | #include "GRID.h" | 
| 36 |  | 
| 37 | C     !INPUT/OUTPUT PARAMETERS: | 
| 38 | C     === Routine arguments === | 
| 39 | C     myThid - Number of this instance of INI_PARMS | 
| 40 | INTEGER myThid | 
| 41 | _RL viscArDefault | 
| 42 | _RL diffKrTDefault | 
| 43 | _RL diffKrSDefault | 
| 44 | _RL hFacMinDrDefault | 
| 45 | _RL delRDefault(Nr) | 
| 46 | _RS rkFacDefault | 
| 47 |  | 
| 48 | C     !LOCAL VARIABLES: | 
| 49 | C     === Local variables === | 
| 50 | C     K, I, J - Loop counters | 
| 51 | INTEGER K, I, J | 
| 52 | CEOP | 
| 53 |  | 
| 54 | C--   Grid parameters | 
| 55 | C     Vertical gridding | 
| 56 | rkFacDefault         = 1.D0 | 
| 57 | horiVertRatio        = 1.D0 | 
| 58 | Ro_SeaLevel = 0. | 
| 59 | DO k=1,Nr | 
| 60 | delRdefault(k) = 0. | 
| 61 | ENDDO | 
| 62 | DO k=1,Nr+1 | 
| 63 | delRc(k) = UNSET_RL | 
| 64 | ENDDO | 
| 65 |  | 
| 66 | C     Horizontal gridding | 
| 67 | C     In cartesian coords distances are in metres | 
| 68 | usingCartesianGrid = .TRUE. | 
| 69 | DO i=1,Nx | 
| 70 | delX(i) = UNSET_RL | 
| 71 | ENDDO | 
| 72 | DO j=1,Ny | 
| 73 | delY(j) = UNSET_RL | 
| 74 | ENDDO | 
| 75 | C     In spherical polar distances are in degrees | 
| 76 | usingSphericalPolarGrid = .FALSE. | 
| 77 | phiMin               = 0.0 | 
| 78 | thetaMin             = 0. | 
| 79 | rSphere              = 6370. * 1.D3 | 
| 80 | C     General curvilinear coordinate system | 
| 81 | usingCurvilinearGrid = .FALSE. | 
| 82 |  | 
| 83 | C--   Set default "physical" parameters | 
| 84 | DO K =1,Nr | 
| 85 | tRef(K) = 30.D0 - FLOAT( K ) | 
| 86 | Cml       sRef(K) = 35.D0 | 
| 87 | ENDDO | 
| 88 | gravitySign         = 1.D0 | 
| 89 | gravity             = 9.81D0 | 
| 90 | rhoNil              = 999.8D0 | 
| 91 | rhoConstFresh       = 999.8D0 | 
| 92 | f0                  = 1.D-4 | 
| 93 | beta                = 1.D-11 | 
| 94 | C-    Always use 1 day in the past but should be 86164 (=86400*365.25/366.25) | 
| 95 | rotationPeriod      = 86400. _d 0 | 
| 96 | viscAh              = 0.D3 | 
| 97 | viscAstrain         = 0.D3 | 
| 98 | viscAtension        = 0.D3 | 
| 99 | diffKhT             = 0.D3 | 
| 100 | diffKhS             = 0.D3 | 
| 101 | viscArDefault       = 0.D-3 | 
| 102 | no_slip_sides       = .TRUE. | 
| 103 | no_slip_bottom      = .TRUE. | 
| 104 | diffKrTDefault      = 0.D-3 | 
| 105 | diffKrSDefault      = 0.D-3 | 
| 106 | viscA4              = 0.D11 | 
| 107 | diffK4T             = 0.D11 | 
| 108 | diffK4S             = 0.D11 | 
| 109 | cosPower            = 0. | 
| 110 | HeatCapacity_Cp     = 3994.D0 | 
| 111 | Cml      tAlpha              = 2.D-4 | 
| 112 | Cml      sBeta               = 7.4D-4 | 
| 113 | eosType             = 'LINEAR' | 
| 114 | buoyancyRelation    = 'OCEANIC' | 
| 115 | hFacMin             = 1.D0 | 
| 116 | hFacMinDrDefault    = 0.D0 | 
| 117 | staggerTimeStep     = .FALSE. | 
| 118 | momViscosity        = .TRUE. | 
| 119 | momAdvection        = .TRUE. | 
| 120 | momForcing          = .TRUE. | 
| 121 | useCoriolis         = .TRUE. | 
| 122 | momPressureForcing  = .TRUE. | 
| 123 | momStepping         = .TRUE. | 
| 124 | vectorInvariantMomentum = .FALSE. | 
| 125 | tempStepping        = .TRUE. | 
| 126 | tempAdvection       = .TRUE. | 
| 127 | tempForcing         = .TRUE. | 
| 128 | saltStepping        = .TRUE. | 
| 129 | saltAdvection       = .TRUE. | 
| 130 | saltForcing         = .TRUE. | 
| 131 | tr1Stepping         = .FALSE. | 
| 132 | metricTerms         = .TRUE. | 
| 133 | useNHMTerms         = .TRUE. | 
| 134 | implicitDiffusion   = .FALSE. | 
| 135 | implicitViscosity   = .FALSE. | 
| 136 | nonHydrostatic      = .FALSE. | 
| 137 | quasiHydrostatic    = .FALSE. | 
| 138 | globalFiles         = .FALSE. | 
| 139 | useSingleCpuIO      = .FALSE. | 
| 140 | allowFreezing       = .FALSE. | 
| 141 | ivdc_kappa          = 0.D0 | 
| 142 | groundAtK1          = .FALSE. | 
| 143 | bottomDragLinear    = 0. | 
| 144 | bottomDragQuadratic = 0. | 
| 145 | usePickupBeforeC35    = .FALSE. | 
| 146 | debugMode             = .FALSE. | 
| 147 | readPickupWithTracer  = .FALSE. | 
| 148 | writePickupWithTracer = .FALSE. | 
| 149 | tempAdvScheme       = 2 | 
| 150 | saltAdvScheme       = 2 | 
| 151 | tracerAdvScheme     = 2 | 
| 152 | multiDimAdvection   = .TRUE. | 
| 153 | useCDscheme         = .FALSE. | 
| 154 | useEnergyConservingCoriolis = .FALSE. | 
| 155 | useJamartWetPoints  = .FALSE. | 
| 156 | debugLevel          = debLevA | 
| 157 |  | 
| 158 | C--   Set (free)surface-related parameters | 
| 159 | implicitFreeSurface = .TRUE. | 
| 160 | rigidLid            = .FALSE. | 
| 161 | implicSurfPress     = 1.D0 | 
| 162 | implicDiv2DFlow     = 1.D0 | 
| 163 | exactConserv        = .FALSE. | 
| 164 | uniformLin_PhiSurf  = .TRUE. | 
| 165 | nonlinFreeSurf      = 0 | 
| 166 | hFacInf             = 0.2 _d 0 | 
| 167 | hFacSup             = 2.0 _d 0 | 
| 168 | select_rStar        = 0 | 
| 169 | useRealFreshWaterFlux = .FALSE. | 
| 170 | temp_EvPrRn = UNSET_RL | 
| 171 | salt_EvPrRn = 0. | 
| 172 | trac_EvPrRn = UNSET_RL | 
| 173 |  | 
| 174 | C--   Atmospheric physical parameters (e.g.: EOS) | 
| 175 | celsius2K = 273.16 _d 0 | 
| 176 | atm_Po =  1. _d 5 | 
| 177 | atm_Cp = 1004. _d 0 | 
| 178 | atm_Rd = UNSET_RL | 
| 179 | atm_kappa = 2. _d 0 / 7. _d 0 | 
| 180 | integr_GeoPot = 2 | 
| 181 | selectFindRoSurf = 0 | 
| 182 |  | 
| 183 | C--   Elliptic solver parameters | 
| 184 | cg2dMaxIters       = 150 | 
| 185 | cg2dTargetResidual = 1.D-7 | 
| 186 | cg2dTargetResWunit = -1. | 
| 187 | cg2dChkResFreq     = 1 | 
| 188 | cg2dpcOffDFac      = 0.51D0 | 
| 189 | cg3dMaxIters       = 150 | 
| 190 | cg3dTargetResidual = 1.D-7 | 
| 191 | cg3dChkResFreq     = 1 | 
| 192 |  | 
| 193 | C--   Time stepping parameters | 
| 194 | deltaT            = 0. | 
| 195 | nIter0            = 0 | 
| 196 | startTime         = deltaT*float(nIter0) | 
| 197 | pickupSuff        = ' ' | 
| 198 | nTimeSteps        = 0 | 
| 199 | nEndIter          = nIter0+nTimeSteps | 
| 200 | endTime           = deltaT*float(nEndIter) | 
| 201 | forcing_In_AB     = .TRUE. | 
| 202 | abEps             = 0.01 | 
| 203 | pchkPtFreq        = deltaT*0 | 
| 204 | chkPtFreq         = deltaT*0 | 
| 205 | dumpFreq          = deltaT*0 | 
| 206 | diagFreq          = deltaT*0 | 
| 207 | monitorFreq       = -1. | 
| 208 | taveFreq          = deltaT*0 | 
| 209 | tave_lastIter     = 0.5 _d 0 | 
| 210 | writeStatePrec    = precFloat64 | 
| 211 | writeBinaryPrec   = precFloat32 | 
| 212 | readBinaryPrec    = precFloat64 | 
| 213 | nCheckLev         = 1 | 
| 214 | checkPtSuff(1)    = 'ckptA' | 
| 215 | checkPtSuff(2)    = 'ckptB' | 
| 216 | cAdjFreq          =  0.D0 | 
| 217 | tauCD             =  0.D0 | 
| 218 | tauThetaClimRelax =  0.D0 | 
| 219 | tauSaltClimRelax  =  0.D0 | 
| 220 | tauTr1ClimRelax   =  0.D0 | 
| 221 | periodicExternalForcing = .FALSE. | 
| 222 | externForcingPeriod     = 0. | 
| 223 | externForcingCycle      = 0. | 
| 224 |  | 
| 225 | C--   Input files | 
| 226 | bathyFile       = ' ' | 
| 227 | topoFile        = ' ' | 
| 228 | hydrogSaltFile  = ' ' | 
| 229 | hydrogThetaFile = ' ' | 
| 230 | zonalWindFile   = ' ' | 
| 231 | meridWindFile   = ' ' | 
| 232 | thetaClimFile   = ' ' | 
| 233 | saltClimFile    = ' ' | 
| 234 | EmPmRfile       = ' ' | 
| 235 | surfQfile       = ' ' | 
| 236 | surfQswfile     = ' ' | 
| 237 | uVelInitFile    = ' ' | 
| 238 | vVelInitFile    = ' ' | 
| 239 | pSurfInitFile   = ' ' | 
| 240 | dQdTFile        = ' ' | 
| 241 | ploadFile       = ' ' | 
| 242 | mdsioLocalDir   = ' ' | 
| 243 |  | 
| 244 | C | 
| 245 | RETURN | 
| 246 | END |