| 1 | afe | 1.1 | C $Header: /u/u0/gcmpack/MITgcm/model/src/set_defaults.F,v 1.43 2002/12/10 02:55:47 jmc Exp $ | 
| 2 |  |  | C $Name: checkpoint48 $ | 
| 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 |  |  | C     General cylindrical coordinate system | 
| 83 |  |  | bUseCylindricalGrid = .FALSE. | 
| 84 |  |  | C--   Set default "physical" parameters | 
| 85 |  |  | DO K =1,Nr | 
| 86 |  |  | tRef(K) = 30.D0 - FLOAT( K ) | 
| 87 |  |  | Cml       sRef(K) = 35.D0 | 
| 88 |  |  | ENDDO | 
| 89 |  |  | gravitySign         = 1.D0 | 
| 90 |  |  | gravity             = 9.81D0 | 
| 91 |  |  | rhoNil              = 999.8D0 | 
| 92 |  |  | rhoConstFresh       = 999.8D0 | 
| 93 |  |  | f0                  = 1.D-4 | 
| 94 |  |  | beta                = 1.D-11 | 
| 95 |  |  | omega               = 2.D0 * PI / ( 3600.D0 * 24.D0 ) | 
| 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 |  |  | allowFreezing       = .FALSE. | 
| 140 |  |  | ivdc_kappa          = 0.D0 | 
| 141 |  |  | groundAtK1          = .FALSE. | 
| 142 |  |  | bottomDragLinear    = 0. | 
| 143 |  |  | bottomDragQuadratic = 0. | 
| 144 |  |  | usePickupBeforeC35    = .FALSE. | 
| 145 |  |  | debugMode             = .FALSE. | 
| 146 |  |  | readPickupWithTracer  = .FALSE. | 
| 147 |  |  | writePickupWithTracer = .FALSE. | 
| 148 |  |  | tempAdvScheme       = 2 | 
| 149 |  |  | saltAdvScheme       = 2 | 
| 150 |  |  | tracerAdvScheme     = 2 | 
| 151 |  |  | multiDimAdvection   = .TRUE. | 
| 152 |  |  | useEnergyConservingCoriolis = .FALSE. | 
| 153 |  |  | useJamartWetPoints  = .FALSE. | 
| 154 |  |  |  | 
| 155 |  |  | C--   Set (free)surface-related parameters | 
| 156 |  |  | implicitFreeSurface = .TRUE. | 
| 157 |  |  | rigidLid            = .FALSE. | 
| 158 |  |  | implicSurfPress     = 1.D0 | 
| 159 |  |  | implicDiv2DFlow     = 1.D0 | 
| 160 |  |  | exactConserv        = .FALSE. | 
| 161 |  |  | uniformLin_PhiSurf  = .TRUE. | 
| 162 |  |  | nonlinFreeSurf      = 0 | 
| 163 |  |  | hFacInf             = 1.D0 | 
| 164 |  |  | hFacSup             = 1.D0 | 
| 165 |  |  | useRealFreshWaterFlux = .FALSE. | 
| 166 |  |  | temp_EvPrRn = UNSET_RL | 
| 167 |  |  | salt_EvPrRn = 0. | 
| 168 |  |  | trac_EvPrRn = UNSET_RL | 
| 169 |  |  |  | 
| 170 |  |  | C--   Atmospheric physical parameters (e.g.: EOS) | 
| 171 |  |  | atm_Po =  1.D5 | 
| 172 |  |  | atm_Cp =  1004.D0 | 
| 173 |  |  | atm_Rd =  UNSET_RL | 
| 174 |  |  | atm_kappa = 2.D0 / 7.D0 | 
| 175 |  |  | integr_GeoPot = 2 | 
| 176 |  |  | selectFindRoSurf = 0 | 
| 177 |  |  |  | 
| 178 |  |  | C--   Elliptic solver parameters | 
| 179 |  |  | cg2dMaxIters       = 150 | 
| 180 |  |  | cg2dTargetResidual = 1.D-7 | 
| 181 |  |  | cg2dTargetResWunit = -1. | 
| 182 |  |  | cg2dChkResFreq     = 1 | 
| 183 |  |  | cg2dpcOffDFac      = 0.51D0 | 
| 184 |  |  | cg3dMaxIters       = 150 | 
| 185 |  |  | cg3dTargetResidual = 1.D-7 | 
| 186 |  |  | cg3dChkResFreq     = 1 | 
| 187 |  |  |  | 
| 188 |  |  | C--   Time stepping parameters | 
| 189 |  |  | deltaT            = 0. | 
| 190 |  |  | nIter0            = 0 | 
| 191 |  |  | startTime         = deltaT*float(nIter0) | 
| 192 |  |  | nTimeSteps        = 0 | 
| 193 |  |  | nEndIter          = nIter0+nTimeSteps | 
| 194 |  |  | endTime           = deltaT*float(nEndIter) | 
| 195 |  |  | forcing_In_AB     = .TRUE. | 
| 196 |  |  | abEps             = 0.01 | 
| 197 |  |  | pchkPtFreq        = deltaT*0 | 
| 198 |  |  | chkPtFreq         = deltaT*0 | 
| 199 |  |  | dumpFreq          = deltaT*0 | 
| 200 |  |  | diagFreq          = deltaT*0 | 
| 201 |  |  | monitorFreq       = -1. | 
| 202 |  |  | taveFreq          = deltaT*0 | 
| 203 |  |  | tave_lastIter     = 0.5 _d 0 | 
| 204 |  |  | writeStatePrec    = precFloat64 | 
| 205 |  |  | writeBinaryPrec   = precFloat32 | 
| 206 |  |  | readBinaryPrec    = precFloat32 | 
| 207 |  |  | nCheckLev         = 1 | 
| 208 |  |  | checkPtSuff(1)    = 'ckptA' | 
| 209 |  |  | checkPtSuff(2)    = 'ckptB' | 
| 210 |  |  | cAdjFreq          =  0.D0 | 
| 211 |  |  | tauCD             =  0.D0 | 
| 212 |  |  | tauThetaClimRelax =  0.D0 | 
| 213 |  |  | tauSaltClimRelax  =  0.D0 | 
| 214 |  |  | tauTr1ClimRelax   =  0.D0 | 
| 215 |  |  | periodicExternalForcing = .FALSE. | 
| 216 |  |  | externForcingPeriod     = 0. | 
| 217 |  |  | externForcingCycle      = 0. | 
| 218 |  |  | tCyl              = 0. | 
| 219 |  |  |  | 
| 220 |  |  | C--   Input files | 
| 221 |  |  | bathyFile       = ' ' | 
| 222 |  |  | topoFile        = ' ' | 
| 223 |  |  | hydrogSaltFile  = ' ' | 
| 224 |  |  | hydrogThetaFile = ' ' | 
| 225 |  |  | zonalWindFile   = ' ' | 
| 226 |  |  | meridWindFile   = ' ' | 
| 227 |  |  | thetaClimFile   = ' ' | 
| 228 |  |  | saltClimFile    = ' ' | 
| 229 |  |  | EmPmRfile       = ' ' | 
| 230 |  |  | surfQfile       = ' ' | 
| 231 |  |  | surfQswfile     = ' ' | 
| 232 |  |  | uVelInitFile    = ' ' | 
| 233 |  |  | vVelInitFile    = ' ' | 
| 234 |  |  | pSurfInitFile   = ' ' | 
| 235 |  |  | dQdTFile        = ' ' | 
| 236 |  |  | ploadFile       = ' ' | 
| 237 |  |  |  | 
| 238 |  |  | C | 
| 239 |  |  | RETURN | 
| 240 |  |  | END |