82 |
|
|
83 |
C-- Continuous equation parameters |
C-- Continuous equation parameters |
84 |
NAMELIST /PARM01/ |
NAMELIST /PARM01/ |
85 |
& gravity, gBaro, rhonil, tAlpha, sBeta, f0, beta, |
& gravity, gBaro, rhonil, tAlpha, sBeta, f0, beta, omega, |
86 |
& viscAh, viscAz, viscA4, cosPower, |
& viscAh, viscAz, viscA4, cosPower, |
87 |
& diffKhT, diffKzT, diffK4T, |
& diffKhT, diffKzT, diffK4T, |
88 |
& diffKhS, diffKzS, diffK4S, |
& diffKhS, diffKzS, diffK4S, |
94 |
& saltDiffusion, saltAdvection, saltForcing, |
& saltDiffusion, saltAdvection, saltForcing, |
95 |
& implicSurfPress, implicDiv2DFlow, |
& implicSurfPress, implicDiv2DFlow, |
96 |
& implicitFreeSurface, rigidLid, freeSurfFac, hFacMin, hFacMinDz, |
& implicitFreeSurface, rigidLid, freeSurfFac, hFacMin, hFacMinDz, |
97 |
|
& exactConserv, nonlinFreeSurf, hFacInf, hFacSup, |
98 |
& staggerTimeStep, |
& staggerTimeStep, |
99 |
& tempStepping, saltStepping, momStepping, |
& tempStepping, saltStepping, momStepping, |
100 |
& implicitDiffusion, implicitViscosity, |
& implicitDiffusion, implicitViscosity, |
104 |
& writeBinaryPrec, readBinaryPrec, writeStatePrec, |
& writeBinaryPrec, readBinaryPrec, writeStatePrec, |
105 |
& nonHydrostatic, globalFiles, |
& nonHydrostatic, globalFiles, |
106 |
& allowFreezing, ivdc_kappa, |
& allowFreezing, ivdc_kappa, |
107 |
& nShap, zonal_filt_lat, zonal_filt_sinpow, zonal_filt_cospow, |
& zonal_filt_lat, zonal_filt_sinpow, zonal_filt_cospow, |
108 |
& bottomDragLinear,bottomDragQuadratic, |
& bottomDragLinear,bottomDragQuadratic, |
109 |
& usePickupBeforeC35 |
& usePickupBeforeC35 |
110 |
|
|
111 |
C-- Elliptic solver parameters |
C-- Elliptic solver parameters |
112 |
NAMELIST /PARM02/ |
NAMELIST /PARM02/ |
113 |
& cg2dMaxIters, cg2dChkResFreq, cg2dTargetResidual, cg2dpcOffDFac, |
& cg2dMaxIters, cg2dChkResFreq, cg2dTargetResidual, |
114 |
|
& cg2dTargetResWunit, cg2dpcOffDFac, |
115 |
& cg3dMaxIters, cg3dChkResFreq, cg3dTargetResidual |
& cg3dMaxIters, cg3dChkResFreq, cg3dTargetResidual |
116 |
|
|
117 |
C-- Time stepping parammeters |
C-- Time stepping parammeters |
126 |
NAMELIST /PARM04/ |
NAMELIST /PARM04/ |
127 |
& usingCartesianGrid, dxSpacing, dySpacing, delX, delY, delZ, |
& usingCartesianGrid, dxSpacing, dySpacing, delX, delY, delZ, |
128 |
& usingSphericalPolarGrid, phiMin, thetaMin, rSphere, |
& usingSphericalPolarGrid, phiMin, thetaMin, rSphere, |
129 |
|
& usingCurvilinearGrid, |
130 |
& delP, delR, rkFac, Ro_SeaLevel, groundAtK1, |
& delP, delR, rkFac, Ro_SeaLevel, groundAtK1, |
131 |
& delXfile, delYfile |
& delXfile, delYfile |
132 |
|
|
694 |
goptCount = 0 |
goptCount = 0 |
695 |
IF ( usingCartesianGrid ) goptCount = goptCount+1 |
IF ( usingCartesianGrid ) goptCount = goptCount+1 |
696 |
IF ( usingSphericalPolarGrid ) goptCount = goptCount+1 |
IF ( usingSphericalPolarGrid ) goptCount = goptCount+1 |
697 |
IF ( goptCount .NE. 1 ) THEN |
IF ( usingCurvilinearGrid ) goptCount = goptCount+1 |
698 |
|
IF ( goptCount .GT. 1 ) THEN |
699 |
WRITE(msgBuf,'(A)') |
WRITE(msgBuf,'(A)') |
700 |
& 'S/R INI_PARMS: More than one coordinate system requested' |
& 'S/R INI_PARMS: More than one coordinate system requested' |
701 |
CALL PRINT_ERROR( msgBuf , myThid) |
CALL PRINT_ERROR( msgBuf , myThid) |
702 |
STOP 'ABNORMAL END: S/R INI_PARMS' |
STOP 'ABNORMAL END: S/R INI_PARMS' |
703 |
ENDIF |
ENDIF |
704 |
|
IF ( goptCount .LT. 1 ) THEN |
705 |
|
WRITE(msgBuf,'(A)') |
706 |
|
& 'S/R INI_PARMS: No coordinate system requested' |
707 |
|
CALL PRINT_ERROR( msgBuf , myThid) |
708 |
|
STOP 'ABNORMAL END: S/R INI_PARMS' |
709 |
|
ENDIF |
710 |
C-- Make metric term settings consistent with underlying grid. |
C-- Make metric term settings consistent with underlying grid. |
711 |
IF ( usingCartesianGrid ) THEN |
IF ( usingCartesianGrid ) THEN |
712 |
usingSphericalPolarMterms = .FALSE. |
usingSphericalPolarMterms = .FALSE. |
718 |
useConstantF = .FALSE. |
useConstantF = .FALSE. |
719 |
useBetaPlaneF = .FALSE. |
useBetaPlaneF = .FALSE. |
720 |
useSphereF = .TRUE. |
useSphereF = .TRUE. |
|
omega = 2.D0 * PI / ( 3600.D0 * 24.D0 ) |
|
721 |
usingSphericalPolarMterms = metricTerms |
usingSphericalPolarMterms = metricTerms |
722 |
ENDIF |
ENDIF |
723 |
|
IF ( usingCurvilinearGrid ) THEN |
724 |
|
useSphereF = .TRUE. |
725 |
|
ENDIF |
726 |
C-- p, z, r coord parameters |
C-- p, z, r coord parameters |
727 |
DO K = 1, Nr |
DO K = 1, Nr |
728 |
IF ( delZ(K) .NE. UNSET_RL ) zCoordInputData = .TRUE. |
IF ( delZ(K) .NE. UNSET_RL ) zCoordInputData = .TRUE. |