File indexing completed on 2019-08-24 05:11:01 UTC
view on githubraw file Latest commit abfe198b on 2019-08-23 19:59:52 UTC
42c525bfb4 Alis*0001 #include "OBCS_OPTIONS.h"
0002
c8754365e9 Jean*0003
0004
0005
42c525bfb4 Alis*0006 SUBROUTINE OBCS_INIT_VARIABLES( myThid )
c8754365e9 Jean*0007
0008
2d12bccb16 Jean*0009
0010
0011
0012
0013
42c525bfb4 Alis*0014
c8754365e9 Jean*0015
0016 IMPLICIT NONE
42c525bfb4 Alis*0017
0018 #include "SIZE.h"
0019 #include "EEPARAMS.h"
0020 #include "PARAMS.h"
0021 #include "DYNVARS.h"
9b4f2a04e2 Jean*0022 #include "OBCS_PARAMS.h"
0023
0024 #include "OBCS_FIELDS.h"
0025 #include "OBCS_SEAICE.h"
d38a1b9bc4 Jean*0026 #ifdef ALLOW_PTRACERS
ee1c912a22 Mart*0027 #include "PTRACERS_SIZE.h"
a5787b36f8 Jean*0028 #include "PTRACERS_PARAMS.h"
0029 #include "PTRACERS_FIELDS.h"
ee1c912a22 Mart*0030 #include "OBCS_PTRACERS.h"
0031 #endif /* ALLOW_PTRACERS */
42c525bfb4 Alis*0032
c8754365e9 Jean*0033
42c525bfb4 Alis*0034
c8754365e9 Jean*0035
42c525bfb4 Alis*0036 INTEGER myThid
c8754365e9 Jean*0037
42c525bfb4 Alis*0038
0039 #ifdef ALLOW_OBCS
0040
c8754365e9 Jean*0041
42c525bfb4 Alis*0042
0043 INTEGER bi, bj
6960d36165 Jean*0044 INTEGER i, j, k
6f4cf52d27 Dimi*0045 INTEGER fp
ee1c912a22 Mart*0046 #ifdef ALLOW_PTRACERS
0047 INTEGER iTracer
0048 #endif /* ALLOW_PTRACERS */
42c525bfb4 Alis*0049
abb214f17f Alis*0050 #ifdef ALLOW_DEBUG
0051 IF (debugMode) CALL DEBUG_ENTER('OBCS_INIT_VARIABLES',myThid)
0052 #endif
0053
6f4cf52d27 Dimi*0054 fp = readBinaryPrec
0055
42c525bfb4 Alis*0056 DO bj = myByLo(myThid), myByHi(myThid)
0057 DO bi = myBxLo(myThid), myBxHi(myThid)
0058
8b081ca9eb Jean*0059 #ifdef ALLOW_OBCS_PRESCRIBE
0060 OBCS_ldRec(bi,bj) = 0
0061 #endif
6960d36165 Jean*0062 DO k=1,Nr
0063 DO i=1-Olx,sNx+Olx
96bbd4e2a5 Patr*0064 #ifdef ALLOW_OBCS_NORTH
6960d36165 Jean*0065 OBNu(i,k,bi,bj)=0. _d 0
0066 OBNv(i,k,bi,bj)=0. _d 0
0067 OBNt(i,k,bi,bj)=0. _d 0
0068 OBNs(i,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0069 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0070 OBNu0(i,k,bi,bj)=0. _d 0
0071 OBNv0(i,k,bi,bj)=0. _d 0
0072 OBNt0(i,k,bi,bj)=0. _d 0
0073 OBNs0(i,k,bi,bj)=0. _d 0
0074 OBNu1(i,k,bi,bj)=0. _d 0
0075 OBNv1(i,k,bi,bj)=0. _d 0
0076 OBNt1(i,k,bi,bj)=0. _d 0
0077 OBNs1(i,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0078 # endif
824ab1e2dd Mart*0079 # ifdef ALLOW_OBCS_STEVENS
0080 OBNvStevens(i,k,bi,bj)=0. _d 0
b1353a35da Mart*0081 OBNtStevens(i,k,bi,bj)=0. _d 0
0082 OBNsStevens(i,k,bi,bj)=0. _d 0
824ab1e2dd Mart*0083 # endif /* ALLOW_OBCS_STEVENS */
96bbd4e2a5 Patr*0084 #endif /* ALLOW_OBCS_NORTH */
0085
0086 #ifdef ALLOW_OBCS_SOUTH
6960d36165 Jean*0087 OBSu(i,k,bi,bj)=0. _d 0
0088 OBSv(i,k,bi,bj)=0. _d 0
0089 OBSt(i,k,bi,bj)=0. _d 0
0090 OBSs(i,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0091 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0092 OBSu0(i,k,bi,bj)=0. _d 0
0093 OBSv0(i,k,bi,bj)=0. _d 0
0094 OBSt0(i,k,bi,bj)=0. _d 0
0095 OBSs0(i,k,bi,bj)=0. _d 0
0096 OBSu1(i,k,bi,bj)=0. _d 0
0097 OBSv1(i,k,bi,bj)=0. _d 0
0098 OBSt1(i,k,bi,bj)=0. _d 0
0099 OBSs1(i,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0100 # endif
824ab1e2dd Mart*0101 # ifdef ALLOW_OBCS_STEVENS
0102 OBSvStevens(i,k,bi,bj)=0. _d 0
b1353a35da Mart*0103 OBStStevens(i,k,bi,bj)=0. _d 0
0104 OBSsStevens(i,k,bi,bj)=0. _d 0
824ab1e2dd Mart*0105 # endif /* ALLOW_OBCS_STEVENS */
96bbd4e2a5 Patr*0106 #endif /* ALLOW_OBCS_SOUTH */
42c525bfb4 Alis*0107 ENDDO
96bbd4e2a5 Patr*0108
6960d36165 Jean*0109 DO j=1-Oly,sNy+Oly
96bbd4e2a5 Patr*0110 #ifdef ALLOW_OBCS_EAST
6960d36165 Jean*0111 OBEu(j,k,bi,bj)=0. _d 0
0112 OBEv(j,k,bi,bj)=0. _d 0
0113 OBEt(j,k,bi,bj)=0. _d 0
0114 OBEs(j,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0115 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0116 OBEu0(j,k,bi,bj)=0. _d 0
0117 OBEv0(j,k,bi,bj)=0. _d 0
0118 OBEt0(j,k,bi,bj)=0. _d 0
0119 OBEs0(j,k,bi,bj)=0. _d 0
0120 OBEu1(j,k,bi,bj)=0. _d 0
0121 OBEv1(j,k,bi,bj)=0. _d 0
0122 OBEt1(j,k,bi,bj)=0. _d 0
0123 OBEs1(j,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0124 # endif
824ab1e2dd Mart*0125 # ifdef ALLOW_OBCS_STEVENS
0126 OBEuStevens(j,k,bi,bj)=0. _d 0
b1353a35da Mart*0127 OBEtStevens(j,k,bi,bj)=0. _d 0
0128 OBEsStevens(j,k,bi,bj)=0. _d 0
824ab1e2dd Mart*0129 # endif /* ALLOW_OBCS_STEVENS */
96bbd4e2a5 Patr*0130 #endif /* ALLOW_OBCS_EAST */
0131
0132 #ifdef ALLOW_OBCS_WEST
6960d36165 Jean*0133 OBWu(j,k,bi,bj)=0. _d 0
0134 OBWv(j,k,bi,bj)=0. _d 0
0135 OBWt(j,k,bi,bj)=0. _d 0
0136 OBWs(j,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0137 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0138 OBWu0(j,k,bi,bj)=0. _d 0
0139 OBWv0(j,k,bi,bj)=0. _d 0
0140 OBWt0(j,k,bi,bj)=0. _d 0
0141 OBWs0(j,k,bi,bj)=0. _d 0
0142 OBWu1(j,k,bi,bj)=0. _d 0
0143 OBWv1(j,k,bi,bj)=0. _d 0
0144 OBWt1(j,k,bi,bj)=0. _d 0
0145 OBWs1(j,k,bi,bj)=0. _d 0
96bbd4e2a5 Patr*0146 # endif
824ab1e2dd Mart*0147 # ifdef ALLOW_OBCS_STEVENS
0148 OBWuStevens(j,k,bi,bj)=0. _d 0
b1353a35da Mart*0149 OBWtStevens(j,k,bi,bj)=0. _d 0
0150 OBWsStevens(j,k,bi,bj)=0. _d 0
824ab1e2dd Mart*0151 # endif /* ALLOW_OBCS_STEVENS */
96bbd4e2a5 Patr*0152 #endif /* ALLOW_OBCS_WEST */
42c525bfb4 Alis*0153 ENDDO
0154 ENDDO
0155
2d12bccb16 Jean*0156 #ifdef ALLOW_NONHYDROSTATIC
6960d36165 Jean*0157 DO k=1,Nr
0158 DO i=1-Olx,sNx+Olx
0159 OBNw (i,k,bi,bj) = 0. _d 0
0160 OBSw (i,k,bi,bj) = 0. _d 0
2d12bccb16 Jean*0161 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0162 OBNw0(i,k,bi,bj) = 0. _d 0
0163 OBSw0(i,k,bi,bj) = 0. _d 0
0164 OBNw1(i,k,bi,bj) = 0. _d 0
0165 OBSw1(i,k,bi,bj) = 0. _d 0
2d12bccb16 Jean*0166 # endif
0167 ENDDO
6960d36165 Jean*0168 DO j=1-Oly,sNy+Oly
0169 OBEw (j,k,bi,bj) = 0. _d 0
0170 OBWw (j,k,bi,bj) = 0. _d 0
2d12bccb16 Jean*0171 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0172 OBEw0(j,k,bi,bj) = 0. _d 0
0173 OBWw0(j,k,bi,bj) = 0. _d 0
0174 OBEw1(j,k,bi,bj) = 0. _d 0
0175 OBWw1(j,k,bi,bj) = 0. _d 0
2d12bccb16 Jean*0176 # endif
0177 ENDDO
0178 ENDDO
0179 #endif /* ALLOW_NONHYDROSTATIC */
0180
0181 #ifdef NONLIN_FRSURF
6960d36165 Jean*0182 DO i=1-Olx,sNx+Olx
0183 OBNeta (i,bi,bj) = 0. _d 0
0184 OBSeta (i,bi,bj) = 0. _d 0
2d12bccb16 Jean*0185 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0186 OBNeta0(i,bi,bj) = 0. _d 0
0187 OBSeta0(i,bi,bj) = 0. _d 0
0188 OBNeta1(i,bi,bj) = 0. _d 0
0189 OBSeta1(i,bi,bj) = 0. _d 0
2d12bccb16 Jean*0190 # endif
0191 ENDDO
6960d36165 Jean*0192 DO j=1-Oly,sNy+Oly
0193 OBEeta (j,bi,bj) = 0. _d 0
0194 OBWeta (j,bi,bj) = 0. _d 0
2d12bccb16 Jean*0195 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0196 OBEeta0(j,bi,bj) = 0. _d 0
0197 OBWeta0(j,bi,bj) = 0. _d 0
0198 OBEeta1(j,bi,bj) = 0. _d 0
0199 OBWeta1(j,bi,bj) = 0. _d 0
2d12bccb16 Jean*0200 # endif
0201 ENDDO
0202 #endif /* NONLIN_FRSURF */
0203
0204
0205
b48f786726 Dimi*0206 #ifdef ALLOW_SEAICE
6960d36165 Jean*0207 DO i=1-Olx,sNx+Olx
b48f786726 Dimi*0208 #ifdef ALLOW_OBCS_NORTH
6960d36165 Jean*0209 OBNa (i,bi,bj)=0. _d 0
0210 OBNh (i,bi,bj)=0. _d 0
0211 OBNa0(i,bi,bj)=0. _d 0
0212 OBNh0(i,bi,bj)=0. _d 0
0213 OBNa1(i,bi,bj)=0. _d 0
0214 OBNh1(i,bi,bj)=0. _d 0
0215 OBNsl (i,bi,bj)=0. _d 0
0216 OBNsn (i,bi,bj)=0. _d 0
0217 OBNsl0(i,bi,bj)=0. _d 0
0218 OBNsn0(i,bi,bj)=0. _d 0
0219 OBNsl1(i,bi,bj)=0. _d 0
0220 OBNsn1(i,bi,bj)=0. _d 0
0221 OBNuice (i,bi,bj)=0. _d 0
0222 OBNvice (i,bi,bj)=0. _d 0
0223 OBNuice0(i,bi,bj)=0. _d 0
0224 OBNvice0(i,bi,bj)=0. _d 0
0225 OBNuice1(i,bi,bj)=0. _d 0
0226 OBNvice1(i,bi,bj)=0. _d 0
b48f786726 Dimi*0227 #endif /* ALLOW_OBCS_NORTH */
0228 #ifdef ALLOW_OBCS_SOUTH
6960d36165 Jean*0229 OBSa (i,bi,bj)=0. _d 0
0230 OBSh (i,bi,bj)=0. _d 0
0231 OBSa0(i,bi,bj)=0. _d 0
0232 OBSh0(i,bi,bj)=0. _d 0
0233 OBSa1(i,bi,bj)=0. _d 0
0234 OBSh1(i,bi,bj)=0. _d 0
0235 OBSsl (i,bi,bj)=0. _d 0
0236 OBSsn (i,bi,bj)=0. _d 0
0237 OBSsl0(i,bi,bj)=0. _d 0
0238 OBSsn0(i,bi,bj)=0. _d 0
0239 OBSsl1(i,bi,bj)=0. _d 0
0240 OBSsn1(i,bi,bj)=0. _d 0
0241 OBSuice (i,bi,bj)=0. _d 0
0242 OBSvice (i,bi,bj)=0. _d 0
0243 OBSuice0(i,bi,bj)=0. _d 0
0244 OBSvice0(i,bi,bj)=0. _d 0
0245 OBSuice1(i,bi,bj)=0. _d 0
0246 OBSvice1(i,bi,bj)=0. _d 0
b48f786726 Dimi*0247 #endif /* ALLOW_OBCS_SOUTH */
0248 ENDDO
6960d36165 Jean*0249 DO j=1-Oly,sNy+Oly
b48f786726 Dimi*0250 #ifdef ALLOW_OBCS_EAST
6960d36165 Jean*0251 OBEa (j,bi,bj)=0. _d 0
0252 OBEh (j,bi,bj)=0. _d 0
0253 OBEa0(j,bi,bj)=0. _d 0
0254 OBEh0(j,bi,bj)=0. _d 0
0255 OBEa1(j,bi,bj)=0. _d 0
0256 OBEh1(j,bi,bj)=0. _d 0
0257 OBEsl (j,bi,bj)=0. _d 0
0258 OBEsn (j,bi,bj)=0. _d 0
0259 OBEsl0(j,bi,bj)=0. _d 0
0260 OBEsn0(j,bi,bj)=0. _d 0
0261 OBEsl1(j,bi,bj)=0. _d 0
0262 OBEsn1(j,bi,bj)=0. _d 0
0263 OBEuice (j,bi,bj)=0. _d 0
0264 OBEvice (j,bi,bj)=0. _d 0
0265 OBEuice0(j,bi,bj)=0. _d 0
0266 OBEvice0(j,bi,bj)=0. _d 0
0267 OBEuice1(j,bi,bj)=0. _d 0
0268 OBEvice1(j,bi,bj)=0. _d 0
b48f786726 Dimi*0269 #endif /* ALLOW_OBCS_EAST */
0270 #ifdef ALLOW_OBCS_WEST
6960d36165 Jean*0271 OBWa (j,bi,bj)=0. _d 0
0272 OBWh (j,bi,bj)=0. _d 0
0273 OBWa0(j,bi,bj)=0. _d 0
0274 OBWh0(j,bi,bj)=0. _d 0
0275 OBWa1(j,bi,bj)=0. _d 0
0276 OBWh1(j,bi,bj)=0. _d 0
0277 OBWsl (j,bi,bj)=0. _d 0
0278 OBWsn (j,bi,bj)=0. _d 0
0279 OBWsl0(j,bi,bj)=0. _d 0
0280 OBWsn0(j,bi,bj)=0. _d 0
0281 OBWsl1(j,bi,bj)=0. _d 0
0282 OBWsn1(j,bi,bj)=0. _d 0
0283 OBWuice (j,bi,bj)=0. _d 0
0284 OBWvice (j,bi,bj)=0. _d 0
0285 OBWuice0(j,bi,bj)=0. _d 0
0286 OBWvice0(j,bi,bj)=0. _d 0
0287 OBWuice1(j,bi,bj)=0. _d 0
0288 OBWvice1(j,bi,bj)=0. _d 0
b48f786726 Dimi*0289 #endif /* ALLOW_OBCS_WEST */
0290 ENDDO
0291 #endif /* ALLOW_SEAICE */
0292
ee1c912a22 Mart*0293 #ifdef ALLOW_PTRACERS
517be4a08a Mart*0294 #ifndef ALLOW_AUTODIFF_TAMC
ab41fb7174 Mart*0295 IF ( usePTRACERS ) THEN
517be4a08a Mart*0296 #endif
ab41fb7174 Mart*0297 DO iTracer=1,PTRACERS_numInUse
6960d36165 Jean*0298 DO k=1,Nr
0299 DO i=1-Olx,sNx+Olx
ee1c912a22 Mart*0300 #ifdef ALLOW_OBCS_NORTH
6960d36165 Jean*0301 OBNptr (i,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0302 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0303 OBNptr0(i,k,bi,bj,iTracer)=0. _d 0
0304 OBNptr1(i,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0305 # endif
0306 #endif /* ALLOW_OBCS_NORTH */
5b187c067b Jean*0307
ee1c912a22 Mart*0308 #ifdef ALLOW_OBCS_SOUTH
6960d36165 Jean*0309 OBSptr (i,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0310 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0311 OBSptr0(i,k,bi,bj,iTracer)=0. _d 0
0312 OBSptr1(i,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0313 # endif
0314 #endif /* ALLOW_OBCS_SOUTH */
ab41fb7174 Mart*0315 ENDDO
5b187c067b Jean*0316
6960d36165 Jean*0317 DO j=1-Oly,sNy+Oly
ee1c912a22 Mart*0318 #ifdef ALLOW_OBCS_EAST
6960d36165 Jean*0319 OBEptr (j,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0320 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0321 OBEptr0(j,k,bi,bj,iTracer)=0. _d 0
0322 OBEptr1(j,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0323 # endif
0324 #endif /* ALLOW_OBCS_EAST */
5b187c067b Jean*0325
ee1c912a22 Mart*0326 #ifdef ALLOW_OBCS_WEST
6960d36165 Jean*0327 OBWptr (j,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0328 # ifdef ALLOW_OBCS_PRESCRIBE
6960d36165 Jean*0329 OBWptr0(j,k,bi,bj,iTracer)=0. _d 0
0330 OBWptr1(j,k,bi,bj,iTracer)=0. _d 0
ee1c912a22 Mart*0331 # endif
0332 #endif /* ALLOW_OBCS_WEST */
ab41fb7174 Mart*0333 ENDDO
ee1c912a22 Mart*0334 ENDDO
0335 ENDDO
517be4a08a Mart*0336 #ifndef ALLOW_AUTODIFF_TAMC
ab41fb7174 Mart*0337 ENDIF
517be4a08a Mart*0338 #endif
ee1c912a22 Mart*0339 #endif /* ALLOW_PTRACERS */
0340
2d12bccb16 Jean*0341
7af3d6f22c Jean*0342
42c525bfb4 Alis*0343 #ifdef ALLOW_ORLANSKI
0344 IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR.
0345 & useOrlanskiEast.OR.useOrlanskiWest) THEN
abb214f17f Alis*0346 #ifdef ALLOW_DEBUG
6960d36165 Jean*0347 IF (debugMode) CALL DEBUG_CALL('ORLANSKI_INIT',myThid)
abb214f17f Alis*0348 #endif
42c525bfb4 Alis*0349 CALL ORLANSKI_INIT(bi, bj, myThid)
0350 ENDIF
0351 #endif /* ALLOW_ORLANSKI */
0352
dc4fb63152 Alis*0353 ENDDO
5b187c067b Jean*0354 ENDDO
dc4fb63152 Alis*0355
beb3b14177 Dimi*0356 #ifdef ALLOW_OBCS_TIDES
0357 DO bj = myByLo(myThid), myByHi(myThid)
0358 DO bi = myBxLo(myThid), myBxHi(myThid)
0359 DO k=1,tidalComponents
0360 DO i=1-Olx,sNx+Olx
0361 # ifdef ALLOW_OBCS_NORTH
0362 OBNam (i,k,bi,bj)=0. _d 0
0363 OBNph (i,k,bi,bj)=0. _d 0
0364 # endif
0365 # ifdef ALLOW_OBCS_SOUTH
0366 OBSam (i,k,bi,bj)=0. _d 0
0367 OBSph (i,k,bi,bj)=0. _d 0
0368 # endif
0369 ENDDO
0370 DO j=1-Oly,sNy+Oly
0371 # ifdef ALLOW_OBCS_EAST
0372 OBEam (j,k,bi,bj)=0. _d 0
0373 OBEph (j,k,bi,bj)=0. _d 0
0374 # endif
0375 # ifdef ALLOW_OBCS_WEST
0376 OBWam (j,k,bi,bj)=0. _d 0
0377 OBWph (j,k,bi,bj)=0. _d 0
0378 # endif
0379 ENDDO
0380 ENDDO
0381 ENDDO
0382 ENDDO
0383 _BARRIER
0384 # ifdef ALLOW_OBCS_NORTH
0385 IF ( OBNamFile .NE. ' ' ) CALL READ_REC_XZ_RL
0386 & (OBNamFile,fp,tidalComponents,OBNam,1,nIter0,myThid )
0387 IF ( OBNphFile .NE. ' ' ) CALL READ_REC_XZ_RL
0388 & (OBNphFile,fp,tidalComponents,OBNph,1,nIter0,myThid )
0389 # endif
0390 # ifdef ALLOW_OBCS_SOUTH
0391 IF ( OBSamFile .NE. ' ' ) CALL READ_REC_XZ_RL
0392 & (OBSamFile,fp,tidalComponents,OBSam,1,nIter0,myThid )
0393 IF ( OBSphFile .NE. ' ' ) CALL READ_REC_XZ_RL
0394 & (OBSphFile,fp,tidalComponents,OBSph,1,nIter0,myThid )
0395 # endif
0396 # ifdef ALLOW_OBCS_EAST
0397 IF ( OBEamFile .NE. ' ' ) CALL READ_REC_YZ_RL
0398 & (OBEamFile,fp,tidalComponents,OBEam,1,nIter0,myThid )
0399 IF ( OBEphFile .NE. ' ' ) CALL READ_REC_YZ_RL
0400 & (OBEphFile,fp,tidalComponents,OBEph,1,nIter0,myThid )
0401 # endif
0402 # ifdef ALLOW_OBCS_WEST
0403 IF ( OBWamFile .NE. ' ' ) CALL READ_REC_YZ_RL
0404 & (OBWamFile,fp,tidalComponents,OBWam,1,nIter0,myThid )
0405 IF ( OBWphFile .NE. ' ' ) CALL READ_REC_YZ_RL
0406 & (OBWphFile,fp,tidalComponents,OBWph,1,nIter0,myThid )
0407 # endif
0408 _BARRIER
0409 #endif /* ALLOW_OBCS_TIDES */
0410
0c1665e096 Alis*0411
9467978093 Jean*0412
65adb300c0 Jean*0413 IF ( nIter0.NE.0 .OR. pickupSuff.NE.' ' ) THEN
9467978093 Jean*0414 CALL OBCS_READ_PICKUP( nIter0, myThid )
3cd87e8d30 Mart*0415 ENDIF
65adb300c0 Jean*0416
0c1665e096 Alis*0417
9467978093 Jean*0418
65adb300c0 Jean*0419 IF ( nIter0.EQ.0 .AND. pickupSuff.EQ.' ' ) THEN
abb214f17f Alis*0420 #ifdef ALLOW_DEBUG
9467978093 Jean*0421 IF (debugMode) CALL DEBUG_CALL('OBCS_CALC',myThid)
abb214f17f Alis*0422 #endif
3a86c9b47d Oliv*0423 CALL OBCS_CALC( startTime, nIter0,
9467978093 Jean*0424 & uVel, vVel, wVel, theta, salt, myThid )
abfe198bce Mart*0425
0426
0427 CALL OBCS_ADJUST( startTime, nIter0, myThid )
96bbd4e2a5 Patr*0428
d38a1b9bc4 Jean*0429
0430
abb214f17f Alis*0431 #ifdef ALLOW_DEBUG
5b187c067b Jean*0432 IF (debugMode)
c8754365e9 Jean*0433 & CALL DEBUG_CALL('OBCS_APPLY_UV + OBCS_APPLY_TS',myThid)
abb214f17f Alis*0434 #endif
7914483c99 Mart*0435 DO bj = myByLo(myThid), myByHi(myThid)
0436 DO bi = myBxLo(myThid), myBxHi(myThid)
c8754365e9 Jean*0437 CALL OBCS_APPLY_UV( bi, bj, 0, uVel, vVel, myThid )
10980378a3 Jean*0438 CALL OBCS_APPLY_TS( bi, bj, 0, theta, salt, myThid )
42c525bfb4 Alis*0439 ENDDO
0440 ENDDO
0283233458 Mart*0441 IF (useOBCSprescribe) THEN
0442
e16d78bea8 Jean*0443
0283233458 Mart*0444
0445 #ifdef ALLOW_DEBUG
5b187c067b Jean*0446 IF (debugMode)
c8754365e9 Jean*0447 & CALL DEBUG_CALL('EXCHANGES in OBCS_INIT_VARIABLES',myThid)
0283233458 Mart*0448 #endif
0449 CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
7163a40534 Jean*0450 _EXCH_XYZ_RL( theta, myThid )
0451 _EXCH_XYZ_RL( salt , myThid )
0283233458 Mart*0452 ENDIF
0453
65adb300c0 Jean*0454 #ifdef ALLOW_OBCS_PRESCRIBE
e16d78bea8 Jean*0455 ELSEIF ( useOBCSprescribe ) THEN
6960d36165 Jean*0456
0457
0458
0459
0460
0461
0462
65adb300c0 Jean*0463 CALL OBCS_PRESCRIBE_READ( startTime, nIter0, myThid )
0464 #endif
0283233458 Mart*0465 ENDIF
6a11665c9a Jean*0466
0467
65adb300c0 Jean*0468
7914483c99 Mart*0469 #ifdef ALLOW_PTRACERS
0470
0283233458 Mart*0471 IF ( usePTRACERS ) THEN
0472
0473
10980378a3 Jean*0474 IF ( nIter0.EQ.PTRACERS_Iter0 ) THEN
7914483c99 Mart*0475 #ifdef ALLOW_DEBUG
6960d36165 Jean*0476 IF (debugMode) CALL DEBUG_CALL('OBCS_APPLY_PTRACER',myThid)
7914483c99 Mart*0477 #endif
0478 DO iTracer=1,PTRACERS_numInUse
0479 DO bj = myByLo(myThid), myByHi(myThid)
0480 DO bi = myBxLo(myThid), myBxHi(myThid)
5b187c067b Jean*0481 CALL OBCS_APPLY_PTRACER(
6960d36165 Jean*0482 I bi, bj, 0, iTracer,
0483 U ptracer(1-Olx,1-Oly,1,bi,bj,iTracer),
7914483c99 Mart*0484 I myThid )
0485 ENDDO
0486 ENDDO
0487 ENDDO
10980378a3 Jean*0488
0489 ENDIF
0490 IF ( nIter0.EQ.PTRACERS_Iter0 .AND. useOBCSprescribe ) THEN
838f3e321e Mart*0491
e16d78bea8 Jean*0492
838f3e321e Mart*0493
abb214f17f Alis*0494 #ifdef ALLOW_DEBUG
5b187c067b Jean*0495 IF (debugMode) CALL DEBUG_CALL(
0283233458 Mart*0496 & 'PTRACERS EXCHANGES in OBCS_INIT_VARIABLES',myThid)
abb214f17f Alis*0497 #endif
0ea13e5a69 Jean*0498 CALL PTRACERS_FIELDS_BLOCKING_EXCH( myThid )
6a11665c9a Jean*0499
6960d36165 Jean*0500
6a11665c9a Jean*0501
6960d36165 Jean*0502
0283233458 Mart*0503 ENDIF
0504
838f3e321e Mart*0505 ENDIF
0283233458 Mart*0506 #endif /* ALLOW_PTRACERS */
838f3e321e Mart*0507
42c525bfb4 Alis*0508 #endif /* ALLOW_OBCS */
96bbd4e2a5 Patr*0509
abb214f17f Alis*0510 #ifdef ALLOW_DEBUG
0511 IF (debugMode) CALL DEBUG_LEAVE('OBCS_INIT_VARIABLES',myThid)
0512 #endif
42c525bfb4 Alis*0513 RETURN
0514 END