36 |
INTEGER bi, bj |
INTEGER bi, bj |
37 |
REAL xcoord(Nx) |
REAL xcoord(Nx) |
38 |
REAL ycoord(Ny) |
REAL ycoord(Ny) |
39 |
REAL zcoord(Nz) |
REAL rcoord(Nr) |
40 |
|
|
41 |
|
|
42 |
_BARRIER |
_BARRIER |
58 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
59 |
WRITE(msgBuf,'(A)') '// ' |
WRITE(msgBuf,'(A)') '// ' |
60 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
61 |
CALL WRITE_1D_R8( tRef, Nz, INDEX_K,'tRef =', |
CALL WRITE_1D_R8( tRef, Nr, INDEX_K,'tRef =', |
62 |
&' /* Reference temperature profile ( oC or oK ) */') |
&' /* Reference temperature profile ( oC or oK ) */') |
63 |
CALL WRITE_1D_R8( sRef, Nz, INDEX_K,'sRef =', |
CALL WRITE_1D_R8( sRef, Nr, INDEX_K,'sRef =', |
64 |
&' /* Reference salinity profile ( ppt ) */') |
&' /* Reference salinity profile ( ppt ) */') |
65 |
CALL WRITE_1D_R8( viscAh, 1, INDEX_NONE,'viscAh =', |
CALL WRITE_1D_R8( viscAh, 1, INDEX_NONE,'viscAh =', |
66 |
&' /* Lateral eddy viscosity ( m^2/s ) */') |
&' /* Lateral eddy viscosity ( m^2/s ) */') |
67 |
|
CALL WRITE_1D_R8( viscA4, 1, INDEX_NONE,'viscAh =', |
68 |
|
&' /* Lateral biharmonic viscosity ( m^4/s ) */') |
69 |
CALL WRITE_1D_R8( viscAz, 1, INDEX_NONE,'viscAz =', |
CALL WRITE_1D_R8( viscAz, 1, INDEX_NONE,'viscAz =', |
70 |
&' /* Vertical eddy viscosity ( m^2/s ) */') |
&' /* Vertical eddy viscosity ( m^2/s ) */') |
71 |
CALL WRITE_1D_R8( diffKhT, 1, INDEX_NONE,'diffKhT =', |
CALL WRITE_1D_R8( diffKhT, 1, INDEX_NONE,'diffKhT =', |
88 |
&' /* Reference density ( kg/m^3 ) */') |
&' /* Reference density ( kg/m^3 ) */') |
89 |
CALL WRITE_1D_R8( gravity,1, INDEX_NONE,'gravity =', |
CALL WRITE_1D_R8( gravity,1, INDEX_NONE,'gravity =', |
90 |
&' /* Gravitational acceleration ( m/s^2 ) */') |
&' /* Gravitational acceleration ( m/s^2 ) */') |
91 |
|
CALL WRITE_1D_R8( gBaro,1, INDEX_NONE,'gBaro =', |
92 |
|
&' /* Barotropic gravity ( m/s^2 ) */') |
93 |
CALL WRITE_1D_R8( f0,1, INDEX_NONE,'f0 =', |
CALL WRITE_1D_R8( f0,1, INDEX_NONE,'f0 =', |
94 |
&' /* Reference coriolis parameter ( 1/s ) */') |
&' /* Reference coriolis parameter ( 1/s ) */') |
95 |
CALL WRITE_1D_R8( beta,1, INDEX_NONE,'beta =', |
CALL WRITE_1D_R8( beta,1, INDEX_NONE,'beta =', |
96 |
&' /* Beta ( 1/(m.s) ) */') |
&' /* Beta ( 1/(m.s) ) */') |
97 |
|
CALL WRITE_1D_R8( freeSurfFac,1, INDEX_NONE,'freeSurfFac =', |
98 |
|
&' /* Implcit free surface factor */') |
99 |
|
CALL WRITE_1D_L( implicitFreeSurface,1, INDEX_NONE, |
100 |
|
& 'implicitFreeSurface =', |
101 |
|
&' /* Implicit free surface on/off flag */') |
102 |
|
CALL WRITE_1D_L( rigidLid,1, INDEX_NONE, |
103 |
|
& 'rigidLid =', |
104 |
|
&' /* Rigid lid on/off flag */') |
105 |
|
CALL WRITE_1D_L( momStepping,1, INDEX_NONE, |
106 |
|
& 'momStepping =', ' /* Momentum equation on/off flag */') |
107 |
|
CALL WRITE_1D_L( momAdvection,1, INDEX_NONE, |
108 |
|
& 'momAdvection =', ' /* Momentum advection on/off flag */') |
109 |
|
CALL WRITE_1D_L( momViscosity,1, INDEX_NONE, |
110 |
|
& 'momViscosity =', ' /* Momentum viscosity on/off flag */') |
111 |
|
CALL WRITE_1D_L( useCoriolis,1, INDEX_NONE, |
112 |
|
& 'useCoriolis =', ' /* Coriolis on/off flag */') |
113 |
|
CALL WRITE_1D_L( momForcing,1, INDEX_NONE, |
114 |
|
& 'momForcing =', ' /* Momentum forcing on/off flag */') |
115 |
|
CALL WRITE_1D_L( momPressureForcing,1, INDEX_NONE, |
116 |
|
& 'momPressureForcing =', ' /* Momentum pressure term on/off flag */') |
117 |
|
CALL WRITE_1D_L( tempStepping,1, INDEX_NONE, |
118 |
|
& 'tempStepping =', ' /* Temperature equation on/off flag */') |
119 |
|
CALL WRITE_1D_R8( GMMaxSlope,1, INDEX_NONE,'GMMaxSlope =', |
120 |
|
&' /* Max. slope allowed in GM/Redi tensor */') |
121 |
|
CALL WRITE_1D_R8( GMLength,1, INDEX_NONE,'GMLength =', |
122 |
|
&' /* Length to use in Visbeck et al. formula for K (m) */') |
123 |
|
CALL WRITE_1D_R8( GMAlpha,1, INDEX_NONE,'GMAlpha =', |
124 |
|
&' /* alpha to use in Visbeck et al. formula for K */') |
125 |
|
CALL WRITE_1D_R8( GMdepth,1, INDEX_NONE,'GMdepth =', |
126 |
|
&' /* Depth to integrate for Visbeck et. al Richardson # (m) */') |
127 |
|
CALL WRITE_1D_R8( GMkbackground,1, INDEX_NONE,'GMkbackground =', |
128 |
|
&' /* background value of GM/Redi coefficient m^2/s */') |
129 |
WRITE(msgBuf,'(A)') '// ' |
WRITE(msgBuf,'(A)') '// ' |
130 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
131 |
|
|
132 |
WRITE(msgBuf,'(A)') '// Elliptic solver(s) paramters ( PARM02 in namelist ) ' |
WRITE(msgBuf,'(A)') '// Elliptic solver(s) paramters ( PARM02 in namelist ) ' |
133 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, SQUEEZE_RIGHT , 1) |
134 |
WRITE(msgBuf,'(A)') '// ' |
WRITE(msgBuf,'(A)') '// ' |
154 |
&' /* Momentum equation timestep ( s ) */') |
&' /* Momentum equation timestep ( s ) */') |
155 |
CALL WRITE_1D_R8( deltaTtracer,1, INDEX_NONE,'deltatTtracer =', |
CALL WRITE_1D_R8( deltaTtracer,1, INDEX_NONE,'deltatTtracer =', |
156 |
&' /* Tracer equation timestep ( s ) */') |
&' /* Tracer equation timestep ( s ) */') |
157 |
|
CALL WRITE_1D_R8( deltaTClock ,1, INDEX_NONE,'deltatTClock =', |
158 |
|
&' /* Model clock timestep ( s ) */') |
159 |
|
CALL WRITE_1D_R8( cAdjFreq,1, INDEX_NONE,'cAdjFreq =', |
160 |
|
&' /* Convective adjustment interval ( s ) */') |
161 |
CALL WRITE_1D_R8( abEps,1, INDEX_NONE,'abEps =', |
CALL WRITE_1D_R8( abEps,1, INDEX_NONE,'abEps =', |
162 |
&' /* Adams-Bashforth stabilizing weight */') |
&' /* Adams-Bashforth stabilizing weight */') |
163 |
CALL WRITE_1D_R8( tauCD,1, INDEX_NONE,'tauCD =', |
CALL WRITE_1D_R8( tauCD,1, INDEX_NONE,'tauCD =', |
168 |
&' /* Run start time ( s ). */') |
&' /* Run start time ( s ). */') |
169 |
CALL WRITE_1D_R8( endTime,1, INDEX_NONE,'endTime =', |
CALL WRITE_1D_R8( endTime,1, INDEX_NONE,'endTime =', |
170 |
&' /* Integration ending time ( s ). */') |
&' /* Integration ending time ( s ). */') |
171 |
|
CALL WRITE_1D_R8( pChkPtFreq,1, INDEX_NONE,'pChkPtFreq =', |
172 |
|
&' /* Permanent restart/checkpoint file interval ( s ). */') |
173 |
CALL WRITE_1D_R8( chkPtFreq,1, INDEX_NONE,'chkPtFreq =', |
CALL WRITE_1D_R8( chkPtFreq,1, INDEX_NONE,'chkPtFreq =', |
174 |
&' /* Restart/checkpoint file interval ( s ). */') |
&' /* Rolling restart/checkpoint file interval ( s ). */') |
175 |
CALL WRITE_1D_R8( dumpFreq,1, INDEX_NONE,'dumpFreq =', |
CALL WRITE_1D_R8( dumpFreq,1, INDEX_NONE,'dumpFreq =', |
176 |
&' /* Model state write out interval ( s ). */') |
&' /* Model state write out interval ( s ). */') |
177 |
|
|
185 |
&' /* Cartesian coordinates flag ( True / False ) */') |
&' /* Cartesian coordinates flag ( True / False ) */') |
186 |
CALL WRITE_1D_L( usingSphericalPolarGrid,1, INDEX_NONE,'usingSphericalPolarGrid =', |
CALL WRITE_1D_L( usingSphericalPolarGrid,1, INDEX_NONE,'usingSphericalPolarGrid =', |
187 |
&' /* Spherical coordinates flag ( True / False ) */') |
&' /* Spherical coordinates flag ( True / False ) */') |
188 |
CALL WRITE_1D_R8( delZ,Nz, INDEX_K,'delZ = ', |
CALL WRITE_1D_R8( delZ,Nr, INDEX_K,'delZ = ', |
189 |
&' /* W spacing ( m ) */') |
&' /* W spacing ( m ) */') |
190 |
CALL WRITE_1D_R8( delX, Nx, INDEX_I,'delX = ', |
CALL WRITE_1D_R8( delX, Nx, INDEX_I,'delX = ', |
191 |
&' /* U spacing ( m - cartesian, degrees - spherical ) */') |
&' /* U spacing ( m - cartesian, degrees - spherical ) */') |
202 |
xcoord((bi-1)*sNx+I) = xc(I,1,bi,1) |
xcoord((bi-1)*sNx+I) = xc(I,1,bi,1) |
203 |
ENDDO |
ENDDO |
204 |
ENDDO |
ENDDO |
205 |
CALL WRITE_1D_R8( xcoord, Nx, INDEX_I,'xcoord = ', |
CALL WRITE_1D_R8( xcoord, sNx*nSx, INDEX_I,'xcoord = ', |
206 |
&' /* P-point X coordinate ( m - cartesian, degrees - spherical ) */') |
&' /* P-point X coordinate ( m - cartesian, degrees - spherical ) */') |
207 |
DO bj=1,nSy |
DO bj=1,nSy |
208 |
DO J=1,sNy |
DO J=1,sNy |
209 |
ycoord((bj-1)*sNy+J) = yc(1,J,1,bj) |
ycoord((bj-1)*sNy+J) = yc(1,J,1,bj) |
210 |
ENDDO |
ENDDO |
211 |
ENDDO |
ENDDO |
212 |
CALL WRITE_1D_R8( ycoord, Ny, INDEX_J,'ycoord = ', |
CALL WRITE_1D_R8( ycoord, sNy*nSy, INDEX_J,'ycoord = ', |
213 |
&' /* P-point Y coordinate ( m - cartesian, degrees - spherical ) */') |
&' /* P-point Y coordinate ( m - cartesian, degrees - spherical ) */') |
214 |
DO K=1,Nz |
DO K=1,Nr |
215 |
zcoord(K) = zc(K) |
rcoord(K) = rc(K) |
216 |
ENDDO |
ENDDO |
217 |
CALL WRITE_1D_R8( zcoord, Nz, INDEX_K,'zcoord = ', |
CALL WRITE_1D_R8( rcoord, Nr, INDEX_K,'rcoord = ', |
218 |
&' /* P-point Z coordinate ( m ) */') |
&' /* P-point R coordinate ( units of r ) */') |
219 |
|
|
220 |
|
|
221 |
|
|