115 |
& numStepsPerPickup, |
& numStepsPerPickup, |
116 |
& writeStatePrec, nCheckLev, |
& writeStatePrec, nCheckLev, |
117 |
& writeBinaryPrec, readBinaryPrec, |
& writeBinaryPrec, readBinaryPrec, |
118 |
& nShap |
& nShap, zonal_filt_sinpow, zonal_filt_cospow |
119 |
INTEGER cg2dMaxIters |
INTEGER cg2dMaxIters |
120 |
INTEGER cg2dChkResFreq |
INTEGER cg2dChkResFreq |
121 |
INTEGER cg3dMaxIters |
INTEGER cg3dMaxIters |
129 |
INTEGER readBinaryPrec |
INTEGER readBinaryPrec |
130 |
INTEGER nCheckLev |
INTEGER nCheckLev |
131 |
INTEGER nShap |
INTEGER nShap |
132 |
|
INTEGER zonal_filt_sinpow |
133 |
|
INTEGER zonal_filt_cospow |
134 |
|
|
135 |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
C-- COMMON /PARM_L/ Logical valued parameters used by the model. |
136 |
C usingCartesianGrid - If TRUE grid generation will be in a cartesian |
C usingCartesianGrid - If TRUE grid generation will be in a cartesian |
139 |
C spherical polar frame. |
C spherical polar frame. |
140 |
C no_slip_sides - Impose "no-slip" at lateral boundaries. |
C no_slip_sides - Impose "no-slip" at lateral boundaries. |
141 |
C no_slip_bottom- Impose "no-slip" at bottom boundary. |
C no_slip_bottom- Impose "no-slip" at bottom boundary. |
142 |
|
C staggerTimeStep - enable a Stagger time stepping T,S Rho then U,V |
143 |
C momViscosity - Flag which turns momentum friction terms on and off. |
C momViscosity - Flag which turns momentum friction terms on and off. |
144 |
C momAdvection - Flag which turns advection of momentum on and off. |
C momAdvection - Flag which turns advection of momentum on and off. |
145 |
C momForcing - Flag which turns external forcing of momentum on |
C momForcing - Flag which turns external forcing of momentum on |
180 |
C coords. |
C coords. |
181 |
C usingZCoords - Set to indicate that we are working in height |
C usingZCoords - Set to indicate that we are working in height |
182 |
C coords. |
C coords. |
|
C openBoundaries - Using open-boundaries |
|
183 |
C nonHydrostatic - Using non-hydrostatic terms |
C nonHydrostatic - Using non-hydrostatic terms |
184 |
C globalFiles - Selects between "global" and "tiled" files |
C globalFiles - Selects between "global" and "tiled" files |
185 |
C allowFreezing - Allows water to freeze and form ice |
C allowFreezing - Allows water to freeze and form ice |
186 |
|
C groundAtK1 - put the surface(k=1) at the Lower Boundary (=ground) |
187 |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
COMMON /PARM_L/ usingCartesianGrid, usingSphericalPolarGrid, |
188 |
& no_slip_sides,no_slip_bottom, |
& no_slip_sides,no_slip_bottom, |
189 |
|
& staggerTimeStep, |
190 |
& momViscosity, momAdvection, momForcing, useCoriolis, |
& momViscosity, momAdvection, momForcing, useCoriolis, |
191 |
& momPressureForcing,tempDiffusion, tempAdvection, tempForcing, |
& momPressureForcing,tempDiffusion, tempAdvection, tempForcing, |
192 |
& saltDiffusion, saltAdvection, saltForcing, |
& saltDiffusion, saltAdvection, saltForcing, |
197 |
& implicitDiffusion, implicitViscosity, |
& implicitDiffusion, implicitViscosity, |
198 |
& doThetaClimRelax, doSaltClimRelax, |
& doThetaClimRelax, doSaltClimRelax, |
199 |
& periodicExternalForcing, usingPCoords, usingZCoords, |
& periodicExternalForcing, usingPCoords, usingZCoords, |
200 |
& openBoundaries, nonHydrostatic, globalFiles, |
& nonHydrostatic, globalFiles, |
201 |
& allowFreezing |
& allowFreezing, groundAtK1 |
202 |
LOGICAL usingCartesianGrid |
LOGICAL usingCartesianGrid |
203 |
LOGICAL usingSphericalPolarGrid |
LOGICAL usingSphericalPolarGrid |
204 |
LOGICAL usingSphericalPolarMTerms |
LOGICAL usingSphericalPolarMTerms |
205 |
LOGICAL no_slip_sides |
LOGICAL no_slip_sides |
206 |
LOGICAL no_slip_bottom |
LOGICAL no_slip_bottom |
207 |
|
LOGICAL staggerTimeStep |
208 |
LOGICAL momViscosity |
LOGICAL momViscosity |
209 |
LOGICAL momAdvection |
LOGICAL momAdvection |
210 |
LOGICAL momForcing |
LOGICAL momForcing |
232 |
LOGICAL periodicExternalForcing |
LOGICAL periodicExternalForcing |
233 |
LOGICAL usingPCoords |
LOGICAL usingPCoords |
234 |
LOGICAL usingZCoords |
LOGICAL usingZCoords |
|
LOGICAL openBoundaries |
|
235 |
LOGICAL nonHydrostatic |
LOGICAL nonHydrostatic |
236 |
LOGICAL globalFiles |
LOGICAL globalFiles |
237 |
LOGICAL allowFreezing |
LOGICAL allowFreezing |
238 |
|
LOGICAL groundAtK1 |
239 |
|
|
240 |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
C-- COMMON /PARM_R/ "Real" valued parameters used by the model. |
241 |
C cg2dTargetResidual |
C cg2dTargetResidual |
355 |
C ( g*rho if horiz in m and vertical in Pa ). |
C ( g*rho if horiz in m and vertical in Pa ). |
356 |
C latFFTFiltLo - Low latitude for FFT filtering of latitude |
C latFFTFiltLo - Low latitude for FFT filtering of latitude |
357 |
C circles ( see filter*.F ) |
C circles ( see filter*.F ) |
358 |
|
C Ro_SeaLevel - standard position of Sea-Level in "R" coordinate, used as |
359 |
|
C starting value (k=1) for vertical coordinate (rf(1)=Ro_SeaLevel) |
360 |
|
C bottomDragLinear - Drag coefficient built in to core dynamics |
361 |
|
C " Quadratic ( linear: 1/s, quadratic: 1/m ) |
362 |
COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, |
COMMON /PARM_R/ cg2dTargetResidual, cg2dpcOffDFac, |
363 |
& cg3dTargetResidual, |
& cg3dTargetResidual, |
364 |
& delP, delZ, delR, delX, delY, |
& delP, delZ, delR, delX, delY, |
378 |
& externForcingCycle, externForcingPeriod, |
& externForcingCycle, externForcingPeriod, |
379 |
& viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp, |
& viscAp, diffKpT, diffKpS, hFacMinDr, hFacMinDp, |
380 |
& theta_S, specVol_S, horiVertRatio, recip_horiVertRatio, |
& theta_S, specVol_S, horiVertRatio, recip_horiVertRatio, |
381 |
& latFFTFiltLo, ivdc_kappa |
& latFFTFiltLo, ivdc_kappa, Ro_SeaLevel, zonal_filt_lat, |
382 |
|
& bottomDragLinear,bottomDragQuadratic |
383 |
|
|
384 |
_RL cg2dTargetResidual |
_RL cg2dTargetResidual |
385 |
_RL cg3dTargetResidual |
_RL cg3dTargetResidual |
460 |
_RL recip_horiVertRatio |
_RL recip_horiVertRatio |
461 |
_RL latFFTFiltLo |
_RL latFFTFiltLo |
462 |
_RL ivdc_kappa |
_RL ivdc_kappa |
463 |
|
_RL Ro_SeaLevel |
464 |
|
_RL zonal_filt_lat |
465 |
|
_RL bottomDragLinear |
466 |
|
_RL bottomDragQuadratic |
467 |
|
|
468 |
COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp, |
COMMON /PARM_A/ HeatCapacity_Cp,recip_Cp, |
469 |
& Lamba_theta |
& Lamba_theta |
482 |
_RL sBeta |
_RL sBeta |
483 |
character*(6) eosType |
character*(6) eosType |
484 |
|
|
|
C These are input arrays (of integers) that contain the *absolute* |
|
|
C computational index of an open-boundary (OB) point. |
|
|
C A zero (0) element means there is no corresponding OB in that column/row. |
|
|
C The computational coordinate refers to "tracer" cells. |
|
|
C For a northern/southern OB, the OB V point is to the south/north. |
|
|
C For an eastern/western OB, the OB U point is to the west/east. |
|
|
C eg. |
|
|
C OB_Jnorth(3)=34 means that: |
|
|
C T( 3 ,34) is a an OB point |
|
|
C U(3:4,34) is a an OB point |
|
|
C V( 4 ,34) is a an OB point |
|
|
C while |
|
|
C OB_Jsouth(3)=1 means that: |
|
|
C T( 3 ,1) is a an OB point |
|
|
C U(3:4,1) is a an OB point |
|
|
C V( 4 ,2) is a an OB point |
|
|
C |
|
|
C For convenience, negative values for Jnorth/Ieast refer to |
|
|
C points relative to the Northern/Eastern edges of the model |
|
|
C eg. OB_Jnorth(3)=-1 means that the point (3,Ny-1) is a northern O-B. |
|
|
C |
|
|
COMMON /PARM_OB/ |
|
|
& OB_Jnorth,OB_Jsouth,OB_Ieast,OB_Iwest |
|
|
INTEGER OB_Jnorth(Nx) |
|
|
INTEGER OB_Jsouth(Nx) |
|
|
INTEGER OB_Ieast(Ny) |
|
|
INTEGER OB_Iwest(Ny) |
|
|
|
|
485 |
C Logical flags for selecting packages |
C Logical flags for selecting packages |
486 |
LOGICAL useKPP |
LOGICAL useKPP |
487 |
LOGICAL useGMRedi |
LOGICAL useGMRedi |
488 |
|
LOGICAL useOBCS |
489 |
LOGICAL useECCO |
LOGICAL useECCO |
490 |
COMMON /PARM_PACKAGES/ |
COMMON /PARM_PACKAGES/ |
491 |
& useKPP, useGMRedi, useECCO |
& useKPP, useGMRedi, useOBCS, useECCO |