Back to home page

MITgcm

 
 

    


File indexing completed on 2026-09-07 05:08:31 UTC

view on githubraw file Latest commit d861cd50 on 2026-09-06 15:41:07 UTC
cf5b5345a0 Jean*0001 #include "CHEAPAML_OPTIONS.h"
93e0447b06 Jean*0002 
cf5b5345a0 Jean*0003 C     !ROUTINE: CHEAPAML_FIELDS_LOAD
                0004 C     !INTERFACE:
                0005       SUBROUTINE CHEAPAML_FIELDS_LOAD( myTime, myIter, myThid )
                0006 C     *==========================================================*
93e0447b06 Jean*0007 C     | SUBROUTINE CHEAPAML_FIELDS_LOAD
                0008 C     | o Control reading of fields from external source.
cf5b5345a0 Jean*0009 C     *==========================================================*
                0010 
                0011 C     !USES:
                0012       IMPLICIT NONE
                0013 C     === Global variables ===
                0014 #include "SIZE.h"
                0015 #include "EEPARAMS.h"
                0016 #include "PARAMS.h"
                0017 #include "FFIELDS.h"
                0018 #include "CHEAPAML.h"
93e0447b06 Jean*0019 
cf5b5345a0 Jean*0020 C     !INPUT/OUTPUT PARAMETERS:
d0842ebedb Jean*0021 C     myIter :: Simulation timestep number
                0022 C     myTime :: Simulation time
                0023 C     myThid :: Thread no. that called this routine.
cf5b5345a0 Jean*0024       _RL     myTime
                0025       INTEGER myIter
d0842ebedb Jean*0026       INTEGER myThid
93e0447b06 Jean*0027 
cf5b5345a0 Jean*0028 C     !LOCAL VARIABLES:
d0842ebedb Jean*0029 C     === in common block ===
                0030 C     trair[01]   :: Relaxation temp. profile for air temperature
                0031 C     qrair[01]   :: Relaxation specific humidity profile for air
                0032 C     solar[01]   :: short wave flux
7c3371c654 Jean*0033 C     uWind[01]   :: wind speed [m/s], u-component (on C-grid)
                0034 C     vWind[01]   :: wind speed [m/s], v-component (on C-grid)
                0035 C     ustress[01] :: wind stress [N/m2], u-component (on A-grid)
                0036 C     vstress[01] :: wind stress [N/m2], v-component (on A-grid)
d0842ebedb Jean*0037 C     wavesh[01]  ::
                0038 C     wavesp[01]  ::
d861cd501f Jean*0039 CC    rair[01]    ::
                0040 C     cheaph[01]  ::
                0041 C     cheapcl[01] ::
                0042 C     cheaplw[01] ::
ffe44ab22b Jean*0043 C     CheaptracerR[01] :: Relaxation profile for passive tracer
ced0783fba Jean*0044 
d861cd501f Jean*0045       COMMON /CHEAPAML_FIELDS/
ced0783fba Jean*0046      &         trair0,   trair1,
                0047      &         qrair0,   qrair1,
                0048      &         Solar0,   Solar1,
7c3371c654 Jean*0049      &         uWind0,   uWind1,
                0050      &         vWind0,   vWind1,
ced0783fba Jean*0051      &         ustress0, ustress1,
                0052      &         vstress0, vstress1,
                0053      &         wavesh0,  wavesh1,
                0054      &         wavesp0,  wavesp1,
7c3371c654 Jean*0055 c    &         rair0,    rair1,
cf6b9ab292 Brun*0056      &         CheaptracerR0, CheaptracerR1,
                0057      &         cheaph0, cheaph1,
0312857000 Jean*0058      &         cheapcl0, cheapcl1,
                0059      &         cheaplw0, cheaplw1,
                0060      &         cheappr0, cheappr1
ffe44ab22b Jean*0061 
ced0783fba Jean*0062       _RL  trair0    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0063       _RL  trair1    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0064       _RL  qrair0    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0065       _RL  qrair1    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0066       _RL  Solar0    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0067       _RL  Solar1    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
7c3371c654 Jean*0068       _RL  uWind0    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0069       _RL  uWind1    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0070       _RL  vWind0    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0071       _RL  vWind1    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
ced0783fba Jean*0072       _RL  ustress0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0073       _RL  ustress1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0074       _RL  vstress0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0075       _RL  vstress1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0076       _RL  wavesh0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0077       _RL  wavesh1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0078       _RL  wavesp0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0079       _RL  wavesp1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
7c3371c654 Jean*0080 c     _RL  rair0  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0081 c     _RL  rair1  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
51132e5783 Nico*0082       _RL  CheaptracerR0 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0083       _RL  CheaptracerR1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
cf6b9ab292 Brun*0084       _RL  cheaph0   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0085       _RL  cheaph1   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0086       _RL  cheapcl0   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0087       _RL  cheapcl1   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0088       _RL  cheaplw0   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0089       _RL  cheaplw1   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0090       _RL  cheappr0   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
                0091       _RL  cheappr1   (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
cf5b5345a0 Jean*0092 
d0842ebedb Jean*0093 C     === Local arrays ===
                0094 C     aWght,bWght :: Interpolation weights
0bcb68cc3c Jean*0095       _RL aWght, bWght
d0842ebedb Jean*0096 
                0097       INTEGER bi, bj
                0098       INTEGER i, j, iG, jG
                0099       INTEGER intimeP, intime0, intime1
0bcb68cc3c Jean*0100       _RL recipNym1, local, u, ssqa
cf5b5345a0 Jean*0101 
d0842ebedb Jean*0102       recipNym1 = Ny - 1
                0103       IF ( Ny.GT.1 ) recipNym1 = 1. _d 0 / recipNym1
4fa4901be6 Nico*0104 
d0842ebedb Jean*0105       IF ( periodicExternalForcing_cheap ) THEN
cf5b5345a0 Jean*0106 
d0842ebedb Jean*0107 C the objective here is to give cheapaml a default periodic forcing
                0108 C consisting only of annually varying solar forcing, and thus Trelaxation
                0109 C variation.  everything else, relative humidity, wind, are fixed.  This
                0110 C keys off of solardata.  if a solar data file exists, the model will
                0111 C assume there are files to be read and interpolated between, as is standard
                0112 C for the MITgcm.
cf5b5345a0 Jean*0113 
d0842ebedb Jean*0114         IF ( useStressOption ) THEN
                0115           WRITE(*,*)' stress option is turned on.  this is not ',
cf6b9ab292 Brun*0116      &       'consistent with the default time dependent forcing option'
d0842ebedb Jean*0117           STOP
ced0783fba Jean*0118         ENDIF
                0119 
d0842ebedb Jean*0120 C here for usual interpolative forcings
ced0783fba Jean*0121 C First call requires that we initialize everything to zero for safety
d0842ebedb Jean*0122         IF ( myIter .EQ. nIter0 ) THEN
                0123          DO bj = myByLo(myThid), myByHi(myThid)
                0124           DO bi = myBxLo(myThid), myBxHi(myThid)
                0125            DO j=1-OLy,sNy+OLy
                0126             DO i=1-OLx,sNx+OLx
                0127              trair0  (i,j,bi,bj) = 0.
                0128              trair1  (i,j,bi,bj) = 0.
                0129              qrair0  (i,j,bi,bj) = 0.
                0130              qrair1  (i,j,bi,bj) = 0.
                0131              solar0  (i,j,bi,bj) = 0.
                0132              solar1  (i,j,bi,bj) = 0.
7c3371c654 Jean*0133              uWind0  (i,j,bi,bj) = 0.
                0134              uWind1  (i,j,bi,bj) = 0.
                0135              vWind0  (i,j,bi,bj) = 0.
                0136              vWind1  (i,j,bi,bj) = 0.
d0842ebedb Jean*0137              cheaph0 (i,j,bi,bj) = 0.
                0138              cheaph1 (i,j,bi,bj) = 0.
                0139              cheapcl0(i,j,bi,bj) = 0.5
                0140              cheapcl1(i,j,bi,bj) = 0.5
                0141              cheaplw0(i,j,bi,bj) = 0.
                0142              cheaplw1(i,j,bi,bj) = 0.
cf6b9ab292 Brun*0143              cheappr0(i,j,bi,bj) = 0.
                0144              cheappr1(i,j,bi,bj) = 0.
d0842ebedb Jean*0145              ustress0(i,j,bi,bj) = 0.
                0146              ustress1(i,j,bi,bj) = 0.
                0147              vstress0(i,j,bi,bj) = 0.
                0148              vstress1(i,j,bi,bj) = 0.
                0149              wavesh0 (i,j,bi,bj) = 0.
                0150              wavesh1 (i,j,bi,bj) = 0.
                0151              wavesp0 (i,j,bi,bj) = 0.
                0152              wavesp1 (i,j,bi,bj) = 0.
7c3371c654 Jean*0153 c            rair0   (i,j,bi,bj) = 0.
                0154 c            rair1   (i,j,bi,bj) = 0.
d0842ebedb Jean*0155              CheaptracerR0 (i,j,bi,bj) = 0.
                0156              CheaptracerR1 (i,j,bi,bj) = 0.
                0157             ENDDO
47339ef480 Jean*0158            ENDDO
                0159           ENDDO
cf5b5345a0 Jean*0160          ENDDO
d0842ebedb Jean*0161         ENDIF
                0162 
                0163 C--   Now calculate whether it is time to update the forcing arrays
                0164         CALL GET_PERIODIC_INTERVAL(
                0165      O           intimeP, intime0, intime1, bWght, aWght,
                0166      I           externForcingCycle_cheap, externForcingPeriod_cheap,
d861cd501f Jean*0167      I           deltaTClock, myTime, myThid )
cf5b5345a0 Jean*0168 
d0842ebedb Jean*0169         IF ( intime0.NE.intimeP .OR. myIter.EQ.nIter0 ) THEN
2616d73cb2 Nico*0170 
                0171 C      If the above condition is met then we need to read in
                0172 C      data for the period ahead and the period behind myTime.
d0842ebedb Jean*0173          WRITE(*,*) 'S/R CHEAPAML_FIELDS_LOAD'
                0174          IF ( SolarFile .NE. ' ' ) THEN
                0175           CALL READ_REC_XY_RL( SolarFile,solar0,intime0,
                0176      &                         myIter, myThid )
                0177           CALL READ_REC_XY_RL( SolarFile,solar1,intime1,
                0178      &                         myIter, myThid )
cf6b9ab292 Brun*0179         ELSE
                0180           DO bj = myByLo(myThid), myByHi(myThid)
                0181             DO bi = myBxLo(myThid), myBxHi(myThid)
                0182               DO j=1,sNy
                0183                 DO i=1,sNx
                0184                   Solar(i,j,bi,bj) = 0.0 _d 0
                0185                 ENDDO
                0186               ENDDO
                0187             ENDDO
                0188          ENDDO
                0189          _EXCH_XY_RL( solar, myThid )
                0190 
                0191         ENDIF
d0842ebedb Jean*0192          IF ( TrFile .NE. ' ' ) THEN
                0193           CALL READ_REC_XY_RL( TRFile,trair0,intime0,
                0194      &                         myIter, myThid )
                0195           CALL READ_REC_XY_RL( TRFile,trair1,intime1,
                0196      &                         myIter, myThid )
cf6b9ab292 Brun*0197         ELSE
                0198          DO bj = myByLo(myThid), myByHi(myThid)
                0199           DO bi = myBxLo(myThid), myBxHi(myThid)
                0200            DO j=1,sNy
                0201             DO i=1,sNx
                0202               TR(i,j,bi,bj) = 0.0 _d 0
                0203             ENDDO
                0204            ENDDO
                0205           ENDDO
                0206          ENDDO
                0207          _EXCH_XY_RL( TR, myThid )
                0208 
                0209         ENDIF
d0842ebedb Jean*0210          IF ( QrFile .NE. ' ' ) THEN
                0211           CALL READ_REC_XY_RL( QrFile,qrair0,intime0,
                0212      &                         myIter, myThid )
                0213           CALL READ_REC_XY_RL( QrFile,qrair1,intime1,
                0214      &                         myIter, myThid )
cf6b9ab292 Brun*0215         ELSE
                0216           DO bj = myByLo(myThid), myByHi(myThid)
                0217             DO bi = myBxLo(myThid), myBxHi(myThid)
                0218               DO j=1,sNy
                0219                 DO i=1,sNx
                0220                   qr(i,j,bi,bj) = 0.0 _d 0
                0221                 ENDDO
                0222               ENDDO
                0223             ENDDO
                0224           ENDDO
                0225          _EXCH_XY_RL( qr, myThid )
                0226 
                0227         ENDIF
                0228         IF ( UWindFile .NE. ' ' ) THEN
7c3371c654 Jean*0229           CALL READ_REC_XY_RL( UWindFile,uWind0,intime0,
cf6b9ab292 Brun*0230      &       myIter, myThid )
7c3371c654 Jean*0231           CALL READ_REC_XY_RL( UWindFile,uWind1,intime1,
cf6b9ab292 Brun*0232      &       myIter, myThid )
                0233         ELSE
                0234           DO bj = myByLo(myThid), myByHi(myThid)
                0235           DO bi = myBxLo(myThid), myBxHi(myThid)
                0236            DO j=1,sNy
                0237             DO i=1,sNx
                0238               uWind(i,j,bi,bj) = 0.0 _d 0
                0239             ENDDO
                0240            ENDDO
                0241           ENDDO
                0242          ENDDO
                0243 
                0244          _EXCH_XY_RL( uWind, myThid )
                0245 !         CALL EXCH_UV_XY_RL( uWind, vWind, .TRUE., myThid )
                0246 
                0247        ENDIF
0312857000 Jean*0248 
d0842ebedb Jean*0249          IF ( VWindFile .NE. ' ' ) THEN
7c3371c654 Jean*0250           CALL READ_REC_XY_RL( VWindFile,vWind0,intime0,
d0842ebedb Jean*0251      &                         myIter, myThid )
7c3371c654 Jean*0252           CALL READ_REC_XY_RL( VWindFile,vWind1,intime1,
d0842ebedb Jean*0253      &                         myIter, myThid )
cf6b9ab292 Brun*0254         ELSE
                0255           DO bj = myByLo(myThid), myByHi(myThid)
                0256           DO bi = myBxLo(myThid), myBxHi(myThid)
                0257            DO j=1,sNy
                0258             DO i=1,sNx
                0259               vWind(i,j,bi,bj) = 0. _d 0
                0260             ENDDO
                0261            ENDDO
                0262           ENDDO
                0263          ENDDO
                0264 
                0265          _EXCH_XY_RL( vWind, myThid )
                0266 !         CALL EXCH_UV_XY_RL( uWind, vWind, .TRUE., myThid )
0312857000 Jean*0267 
cf6b9ab292 Brun*0268         ENDIF
0bcb68cc3c Jean*0269          IF ( useTimeVarBLH .AND. cheap_hFile .NE. ' ' ) THEN
                0270           CALL READ_REC_XY_RL( cheap_hFile,cheaph0,intime0,
d0842ebedb Jean*0271      &                         myIter, myThid )
0bcb68cc3c Jean*0272           CALL READ_REC_XY_RL( cheap_hFile,cheaph1,intime1,
d0842ebedb Jean*0273      &                         myIter, myThid )
                0274          ENDIF
0bcb68cc3c Jean*0275          IF ( useClouds .AND. cheap_clFile .NE. ' ' ) THEN
                0276           CALL READ_REC_XY_RL( cheap_clFile,cheapcl0,intime0,
d0842ebedb Jean*0277      &                         myIter, myThid )
0bcb68cc3c Jean*0278           CALL READ_REC_XY_RL( cheap_clFile,cheapcl1,intime1,
d0842ebedb Jean*0279      &                         myIter, myThid )
                0280          ENDIF
0bcb68cc3c Jean*0281          IF ( useDLongWave .AND. cheap_dlwFile .NE. ' ' ) THEN
                0282           CALL READ_REC_XY_RL( cheap_dlwFile,cheaplw0,intime0,
d0842ebedb Jean*0283      &                         myIter, myThid )
0bcb68cc3c Jean*0284           CALL READ_REC_XY_RL( cheap_dlwFile,cheaplw1,intime1,
d0842ebedb Jean*0285      &                         myIter, myThid )
                0286          ENDIF
cf6b9ab292 Brun*0287          IF ( (usePrecip) .AND. cheap_prFile .NE. ' ' ) THEN
                0288           CALL READ_REC_XY_RL( cheap_prFile,cheappr0,intime0,
                0289      &                         myIter, myThid )
                0290           CALL READ_REC_XY_RL( cheap_prFile,cheappr1,intime1,
                0291      &                         myIter, myThid )
                0292          ENDIF
d0842ebedb Jean*0293          IF ( useStressOption .AND. UStressFile .NE. ' ' ) THEN
                0294           CALL READ_REC_XY_RL( UStressFile,ustress0,intime0,
                0295      &                         myIter, myThid )
                0296           CALL READ_REC_XY_RL( UStressFile,ustress1,intime1,
                0297      &                         myIter, myThid )
                0298          ENDIF
                0299          IF ( useStressOption .AND. VStressFile .NE. ' ' ) THEN
                0300           CALL READ_REC_XY_RL( VStressFile,vstress0,intime0,
                0301      &                         myIter, myThid )
                0302           CALL READ_REC_XY_RL( VStressFile,vstress1,intime1,
                0303      &                         myIter, myThid )
                0304          ENDIF
                0305          IF ( FluxFormula.EQ.'COARE3' .AND. WaveHFile.NE.' ' ) THEN
                0306           CALL READ_REC_XY_RL( WaveHFile,wavesh0,intime0,
                0307      &                         myIter, myThid )
                0308           CALL READ_REC_XY_RL( WaveHFile,wavesh1,intime1,
                0309      &                         myIter, myThid )
                0310          ENDIF
                0311          IF ( FluxFormula.EQ.'COARE3' .AND. WavePFile.NE.' ' ) THEN
                0312           CALL READ_REC_XY_RL( WavePFile,wavesp0,intime0,
                0313      &                         myIter, myThid )
                0314           CALL READ_REC_XY_RL( WavePFile,wavesp1,intime1,
                0315      &                         myIter, myThid )
                0316          ENDIF
                0317          IF ( useCheapTracer .AND. TracerRFile .NE. ' ' ) THEN
                0318            CALL READ_REC_XY_RL( TracerRFile,CheaptracerR0,intime0,
                0319      &                         myIter, myThid )
                0320            CALL READ_REC_XY_RL( TracerRFile,CheaptracerR1,intime1,
                0321      &                         myIter, myThid )
cf6b9ab292 Brun*0322          ELSEIF( useCheapTracer ) THEN
                0323            DO bj = myByLo(myThid), myByHi(myThid)
                0324              DO bi = myBxLo(myThid), myBxHi(myThid)
                0325                DO j=1,sNy
                0326                  DO i=1,sNx
                0327                    CheaptracerR(i,j,bi,bj) = 0. _d 0
                0328                  ENDDO
                0329                ENDDO
                0330              ENDDO
                0331            ENDDO
                0332           _EXCH_XY_RL( CheaptracerR, myThid )
                0333 
d0842ebedb Jean*0334          ENDIF
                0335          _EXCH_XY_RL( trair0 , myThid )
                0336          _EXCH_XY_RL( trair1 , myThid )
320727b2eb Jean*0337          _EXCH_XY_RL( qrair0 , myThid )
d0842ebedb Jean*0338          _EXCH_XY_RL( qrair1 , myThid )
320727b2eb Jean*0339          _EXCH_XY_RL( solar0 , myThid )
d0842ebedb Jean*0340          _EXCH_XY_RL( solar1 , myThid )
7c3371c654 Jean*0341          CALL EXCH_UV_XY_RL( uWind0, vWind0, .TRUE., myThid )
                0342          CALL EXCH_UV_XY_RL( uWind1, vWind1, .TRUE., myThid )
0bcb68cc3c Jean*0343          IF ( useTimeVarBLH ) THEN
d0842ebedb Jean*0344          _EXCH_XY_RL( cheaph0, myThid )
                0345          _EXCH_XY_RL( cheaph1 , myThid )
                0346          ENDIF
0bcb68cc3c Jean*0347          IF ( useClouds ) THEN
d0842ebedb Jean*0348          _EXCH_XY_RL( cheapcl0, myThid )
                0349          _EXCH_XY_RL( cheapcl1 , myThid )
                0350          ENDIF
0bcb68cc3c Jean*0351          IF ( useDLongWave ) THEN
d0842ebedb Jean*0352          _EXCH_XY_RL( cheaplw0, myThid )
                0353          _EXCH_XY_RL( cheaplw1 , myThid )
                0354          ENDIF
cf6b9ab292 Brun*0355          IF ( usePrecip ) THEN
                0356          _EXCH_XY_RL( cheappr0, myThid )
                0357          _EXCH_XY_RL( cheappr1 , myThid )
                0358          ENDIF
d0842ebedb Jean*0359          IF ( useStressOption ) THEN
320727b2eb Jean*0360          CALL EXCH_UV_AGRID_3D_RL(ustress0,vstress0, .TRUE.,1,myThid )
                0361          CALL EXCH_UV_AGRID_3D_RL(ustress1,vstress1, .TRUE.,1,myThid )
                0362          ENDIF
                0363          IF ( FluxFormula.EQ.'COARE3' ) THEN
d0842ebedb Jean*0364          _EXCH_XY_RL( wavesp0 , myThid )
                0365          _EXCH_XY_RL( wavesp1 , myThid )
                0366          _EXCH_XY_RL( wavesh0 , myThid )
                0367          _EXCH_XY_RL( wavesh1 , myThid )
320727b2eb Jean*0368          ENDIF
d0842ebedb Jean*0369          IF ( useCheapTracer ) THEN
                0370          _EXCH_XY_RL( CheaptracerR0 , myThid )
                0371          _EXCH_XY_RL( CheaptracerR1, myThid )
                0372          ENDIF
                0373 
4fa4901be6 Nico*0374 C     end of loading new fields block
d0842ebedb Jean*0375         ENDIF
4fa4901be6 Nico*0376 
                0377 C--   Interpolate TR, QR, SOLAR
d0842ebedb Jean*0378         DO bj = myByLo(myThid), myByHi(myThid)
                0379          DO bi = myBxLo(myThid), myBxHi(myThid)
                0380           DO j=1-OLy,sNy+OLy
                0381            DO i=1-OLx,sNx+OLx
                0382             TR(i,j,bi,bj)           = bWght*trair0(i,j,bi,bj)
                0383      &                              + aWght*trair1(i,j,bi,bj)   !+273.15
                0384             qr(i,j,bi,bj)           = bWght*qrair0(i,j,bi,bj)
                0385      &                              + aWght*qrair1(i,j,bi,bj)
7c3371c654 Jean*0386             uWind(i,j,bi,bj)        = bWght*uWind0(i,j,bi,bj)
                0387      &                              + aWght*uWind1(i,j,bi,bj)
                0388             vWind(i,j,bi,bj)        = bWght*vWind0(i,j,bi,bj)
                0389      &                              + aWght*vWind1(i,j,bi,bj)
d0842ebedb Jean*0390             solar(i,j,bi,bj)        = bWght*solar0(i,j,bi,bj)
                0391      &                              + aWght*solar1(i,j,bi,bj)
                0392             IF ( useStressOption ) THEN
                0393              ustress(i,j,bi,bj)     = bWght*ustress0(i,j,bi,bj)
                0394      &                              + aWght*ustress1(i,j,bi,bj)
                0395              vstress(i,j,bi,bj)     = bWght*vstress0(i,j,bi,bj)
                0396      &                              + aWght*vstress1(i,j,bi,bj)
                0397             ENDIF
0bcb68cc3c Jean*0398             IF ( useTimeVarBLH ) THEN
7c3371c654 Jean*0399              CheapHgrid(i,j,bi,bj)  = bWght*cheaph0(i,j,bi,bj)
d0842ebedb Jean*0400      &                              + aWght*cheaph1(i,j,bi,bj)
                0401             ENDIF
0bcb68cc3c Jean*0402             IF ( useClouds ) THEN
d0842ebedb Jean*0403              cheapclouds(i,j,bi,bj) = bWght*cheapcl0(i,j,bi,bj)
                0404      &                              + aWght*cheapcl1(i,j,bi,bj)
                0405             ENDIF
0bcb68cc3c Jean*0406             IF ( useDLongWave ) THEN
d0842ebedb Jean*0407              cheapdlongwave(i,j,bi,bj) = bWght*cheaplw0(i,j,bi,bj)
                0408      &                                 + aWght*cheaplw1(i,j,bi,bj)
                0409             ENDIF
cf6b9ab292 Brun*0410             IF ( usePrecip ) THEN
                0411              cheapPrecip(i,j,bi,bj) = bWght*cheappr0(i,j,bi,bj)
                0412      &                                 + aWght*cheappr1(i,j,bi,bj)
                0413             ENDIF
d0842ebedb Jean*0414             IF ( useCheapTracer ) THEN
                0415              CheaptracerR(i,j,bi,bj) = bWght*CheaptracerR0(i,j,bi,bj)
                0416      &                               + aWght*CheaptracerR1(i,j,bi,bj)
                0417             ENDIF
                0418             IF ( FluxFormula.EQ.'COARE3' ) THEN
                0419              IF ( WaveHFile.NE.' ' ) THEN
                0420               wavesh(i,j,bi,bj)     = bWght*wavesh0(i,j,bi,bj)
                0421      &                              + aWght*wavesh1(i,j,bi,bj)
                0422              ENDIF
                0423              IF ( WavePFile.NE.' ' ) THEN
                0424               wavesp(i,j,bi,bj)     = bWght*wavesp0(i,j,bi,bj)
                0425      &                              + aWght*wavesp1(i,j,bi,bj)
                0426              ENDIF
                0427             ELSE
7c3371c654 Jean*0428              u = uWind(i,j,bi,bj)**2 + vWind(i,j,bi,bj)**2
d0842ebedb Jean*0429              u = SQRT(u)
                0430              wavesp(i,j,bi,bj) = 0.729 _d 0 * u
                0431              wavesh(i,j,bi,bj) = 0.018 _d 0 * u*u*(1. + .015 _d 0 *u)
                0432             ENDIF
                0433            ENDDO
                0434           ENDDO
cf5b5345a0 Jean*0435          ENDDO
                0436         ENDDO
4fa4901be6 Nico*0437 
d0842ebedb Jean*0438 C end of periodic forcing options, on to steady option
cf5b5345a0 Jean*0439       ELSE
ced0783fba Jean*0440 
cf5b5345a0 Jean*0441        IF ( myIter .EQ. nIter0 ) THEN
9944ed038a Jean*0442 
d0842ebedb Jean*0443         IF ( SolarFile .NE. ' ' ) THEN
9944ed038a Jean*0444          CALL READ_FLD_XY_RL( SolarFile,' ',solar,0,myThid )
47339ef480 Jean*0445         ELSE
                0446          DO bj = myByLo(myThid), myByHi(myThid)
                0447           DO bi = myBxLo(myThid), myBxHi(myThid)
                0448            DO j=1,sNy
                0449             DO i=1,sNx
d0842ebedb Jean*0450               jG = myYGlobalLo-1+(bj-1)*sNy+j
                0451               local = 225. _d 0 - (jG-1)*recipNym1*37.5 _d 0
                0452               Solar(i,j,bi,bj) = local
cf5b5345a0 Jean*0453             ENDDO
47339ef480 Jean*0454            ENDDO
                0455           ENDDO
cf5b5345a0 Jean*0456          ENDDO
47339ef480 Jean*0457         ENDIF
d0842ebedb Jean*0458         _EXCH_XY_RL( solar, myThid )
                0459 
cf5b5345a0 Jean*0460         IF ( TrFile .NE. ' '  ) THEN
ced0783fba Jean*0461          CALL READ_FLD_XY_RL( TrFile,' ',tr,0,myThid )
47339ef480 Jean*0462         ELSE
                0463          DO bj = myByLo(myThid), myByHi(myThid)
                0464           DO bi = myBxLo(myThid), myBxHi(myThid)
                0465            DO j=1,sNy
                0466             DO i=1,sNx
d0842ebedb Jean*0467               local = solar(i,j,bi,bj)
0bcb68cc3c Jean*0468               local = (2. _d 0*local/stefan)**(0.25 _d 0) - celsius2K
d0842ebedb Jean*0469               TR(i,j,bi,bj) = local
cf5b5345a0 Jean*0470             ENDDO
47339ef480 Jean*0471            ENDDO
                0472           ENDDO
cf5b5345a0 Jean*0473          ENDDO
                0474         ENDIF
d0842ebedb Jean*0475         _EXCH_XY_RL( TR, myThid )
ffe44ab22b Jean*0476 
d0842ebedb Jean*0477 C do specific humidity
4fa4901be6 Nico*0478         IF ( QrFile .NE. ' ') THEN
ffe44ab22b Jean*0479          CALL READ_FLD_XY_RL( QrFile,' ',qr,0,myThid )
47339ef480 Jean*0480         ELSE
d0842ebedb Jean*0481 C default specific humidity profile to 80% relative humidity
47339ef480 Jean*0482          DO bj = myByLo(myThid), myByHi(myThid)
                0483           DO bi = myBxLo(myThid), myBxHi(myThid)
                0484            DO j=1,sNy
                0485             DO i=1,sNx
0bcb68cc3c Jean*0486               local = Tr(i,j,bi,bj) + celsius2K
d0842ebedb Jean*0487               ssqa = ssq0*EXP( lath*(ssq1-ssq2/local)) / p0
                0488               qr(i,j,bi,bj) = 0.8 _d 0*ssqa
cf5b5345a0 Jean*0489             ENDDO
47339ef480 Jean*0490            ENDDO
                0491           ENDDO
cf5b5345a0 Jean*0492          ENDDO
                0493         ENDIF
d0842ebedb Jean*0494         _EXCH_XY_RL( qr, myThid )
                0495 
cf5b5345a0 Jean*0496         IF ( UWindFile .NE. ' '  ) THEN
7c3371c654 Jean*0497          CALL READ_FLD_XY_RL( UWindFile,' ',uWind,0,myThid )
47339ef480 Jean*0498         ELSE
                0499          DO bj = myByLo(myThid), myByHi(myThid)
                0500           DO bi = myBxLo(myThid), myBxHi(myThid)
                0501            DO j=1,sNy
                0502             DO i=1,sNx
d0842ebedb Jean*0503               jG = myYGlobalLo-1+(bj-1)*sNy+j
                0504 C mod for debug
                0505 C to return  to original code, uncomment following line
                0506 C comment out 2nd line
                0507               local = -5. _d 0*COS( 2. _d 0*PI*(jG-1)*recipNym1 )
                0508 c             local =  0. _d 0*COS( 2. _d 0*PI*(jG-1)*recipNym1 )
7c3371c654 Jean*0509               uWind(i,j,bi,bj) = local
cf5b5345a0 Jean*0510             ENDDO
47339ef480 Jean*0511            ENDDO
                0512           ENDDO
cf5b5345a0 Jean*0513          ENDDO
                0514         ENDIF
d0842ebedb Jean*0515 
cf5b5345a0 Jean*0516         IF ( VWindFile .NE. ' '  ) THEN
7c3371c654 Jean*0517          CALL READ_FLD_XY_RL( VWindFile,' ',vWind,0,myThid )
47339ef480 Jean*0518         ELSE
                0519          DO bj = myByLo(myThid), myByHi(myThid)
                0520           DO bi = myBxLo(myThid), myBxHi(myThid)
                0521            DO j=1,sNy
                0522             DO i=1,sNx
7c3371c654 Jean*0523               vWind(i,j,bi,bj) = 0. _d 0
cf5b5345a0 Jean*0524             ENDDO
47339ef480 Jean*0525            ENDDO
                0526           ENDDO
cf5b5345a0 Jean*0527          ENDDO
                0528         ENDIF
7c3371c654 Jean*0529         CALL EXCH_UV_XY_RL( uWind, vWind, .TRUE., myThid )
d0842ebedb Jean*0530 
                0531         IF ( useStressOption ) THEN
                0532          IF ( UStressFile .NE. ' '  ) THEN
                0533           CALL READ_FLD_XY_RL( UStressFile,' ',ustress,0,myThid )
                0534          ELSE
                0535           WRITE(*,*)' U Stress File absent with stress option'
                0536           STOP
                0537          ENDIF
                0538          IF ( VStressFile .NE. ' '  ) THEN
                0539           CALL READ_FLD_XY_RL( VStressFile,' ',vstress,0,myThid )
                0540          ELSE
                0541           WRITE(*,*)' V Stress File absent with stress option'
                0542           STOP
                0543          ENDIF
320727b2eb Jean*0544          CALL EXCH_UV_AGRID_3D_RL( ustress,vstress, .TRUE.,1,myThid )
ced0783fba Jean*0545         ENDIF
d0842ebedb Jean*0546         IF ( useCheapTracer ) THEN
                0547          IF ( TracerRFile .NE. ' ' ) THEN
51132e5783 Nico*0548           CALL READ_FLD_XY_RL( TracerRFile,' ',CheaptracerR,0,myThid )
d0842ebedb Jean*0549          ELSE
51132e5783 Nico*0550            DO bj = myByLo(myThid), myByHi(myThid)
                0551             DO bi = myBxLo(myThid), myBxHi(myThid)
                0552              DO j=1,sNy
                0553               DO i=1,sNx
                0554                CheaptracerR(i,j,bi,bj)=290. _d 0
                0555               ENDDO
                0556              ENDDO
                0557             ENDDO
                0558            ENDDO
d0842ebedb Jean*0559          ENDIF
                0560          _EXCH_XY_RL( CheaptracerR, myThid )
4fa4901be6 Nico*0561         ENDIF
d0842ebedb Jean*0562         IF ( FluxFormula.EQ.'COARE3' ) THEN
                0563          IF ( WaveHFile.NE.' ' ) THEN
                0564           CALL READ_FLD_XY_RL( WaveHFile,' ',wavesh,0,myThid )
                0565          ENDIF
                0566          IF ( WavePFile.NE.' ' ) THEN
                0567           CALL READ_FLD_XY_RL( WavePFile,' ',wavesp,0,myThid )
                0568          ELSE
                0569           DO bj = myByLo(myThid), myByHi(myThid)
                0570            DO bi = myBxLo(myThid), myBxHi(myThid)
                0571             DO j=1,sNy
                0572              DO i=1,sNx
7c3371c654 Jean*0573               u = uWind(i,j,bi,bj)**2 + vWind(i,j,bi,bj)**2
d0842ebedb Jean*0574               u = SQRT(u)
                0575               wavesp(i,j,bi,bj)=0.729 _d 0 * u
                0576               wavesh(i,j,bi,bj)=0.018 _d 0 * u*u*(1. + .015 _d 0 *u)
                0577              ENDDO
ced0783fba Jean*0578             ENDDO
                0579            ENDDO
                0580           ENDDO
d0842ebedb Jean*0581          ENDIF
                0582          _EXCH_XY_RL( wavesp, myThid )
                0583          _EXCH_XY_RL( wavesh, myThid )
                0584         ENDIF
                0585 
2616d73cb2 Nico*0586 C     BL height is done in cheapaml_ini_varia
                0587 
9944ed038a Jean*0588         IF ( useClouds ) THEN
0bcb68cc3c Jean*0589          IF ( cheap_clFile .NE. ' ' ) THEN
                0590           CALL READ_FLD_XY_RL( cheap_clFile,' ',Cheapclouds,0,myThid )
d0842ebedb Jean*0591          ELSE
                0592           DO bj = myByLo(myThid), myByHi(myThid)
                0593            DO bi = myBxLo(myThid), myBxHi(myThid)
                0594             DO j=1,sNy
                0595              DO i=1,sNx
2616d73cb2 Nico*0596                Cheapclouds(i,j,bi,bj)=0.5
                0597              ENDDO
                0598             ENDDO
                0599            ENDDO
d0842ebedb Jean*0600           ENDDO
                0601          ENDIF
                0602          _EXCH_XY_RL( Cheapclouds, myThid )
9944ed038a Jean*0603         ENDIF
2616d73cb2 Nico*0604 
9944ed038a Jean*0605         IF ( useDLongWave ) THEN
0bcb68cc3c Jean*0606          IF ( cheap_dlwFile .NE. ' ' ) THEN
                0607           CALL READ_FLD_XY_RL(cheap_dlwFile,' ',Cheapdlongwave,0,myThid)
d0842ebedb Jean*0608          ELSE
0bcb68cc3c Jean*0609           WRITE(*,*) 'with useDLongWave = true,  you must provide',
d0842ebedb Jean*0610      $               ' a downward longwave file'
                0611           STOP
                0612          ENDIF
                0613          _EXCH_XY_RL( Cheapdlongwave, myThid )
9944ed038a Jean*0614         ENDIF
                0615 
cf6b9ab292 Brun*0616         IF ( usePrecip ) THEN
                0617          IF ( cheap_prFile .NE. ' ' ) THEN
                0618           CALL READ_FLD_XY_RL(cheap_prFile,' ',CheapPrecip,0,myThid)
                0619          ELSE
                0620           DO bj = myByLo(myThid), myByHi(myThid)
                0621            DO bi = myBxLo(myThid), myBxHi(myThid)
                0622             DO j=1,sNy
                0623              DO i=1,sNx
                0624                CheapPrecip(i,j,bi,bj)=0.0
                0625              ENDDO
                0626             ENDDO
                0627            ENDDO
                0628           ENDDO
                0629 
                0630         ENDIF
                0631          _EXCH_XY_RL( CheapPrecip, myThid )
                0632         ENDIF
                0633 
9944ed038a Jean*0634 C--    endif myIter = nIter0
d0842ebedb Jean*0635        ENDIF
93e0447b06 Jean*0636 
ced0783fba Jean*0637 C endif for Steady Option
cf5b5345a0 Jean*0638       ENDIF
                0639 
ced0783fba Jean*0640 C fill in outer edges
4fa4901be6 Nico*0641 
d0842ebedb Jean*0642       DO bj = myByLo(myThid), myByHi(myThid)
                0643        DO bi = myBxLo(myThid), myBxHi(myThid)
                0644          DO j=1-OLy,sNy+OLy
                0645           jG = myYGlobalLo-1+(bj-1)*sNy+j
                0646           DO i=1-OLx,sNx+OLx
                0647            iG=myXGlobalLo-1+(bi-1)*sNx+i
                0648 
7c3371c654 Jean*0649            IF ( .NOT.cheapamlXperiodic .AND. iG.LT.1 ) THEN
d0842ebedb Jean*0650 
4fa4901be6 Nico*0651             Tr(i,j,bi,bj)=Tr(1,j,bi,bj)
                0652             qr(i,j,bi,bj)=qr(1,j,bi,bj)
7c3371c654 Jean*0653             uWind(i,j,bi,bj)=uWind(2,j,bi,bj)
                0654             vWind(i,j,bi,bj)=vWind(1,j,bi,bj)
4fa4901be6 Nico*0655             Solar(i,j,bi,bj)=Solar(1,j,bi,bj)
d0842ebedb Jean*0656             IF ( useStressOption ) THEN
2616d73cb2 Nico*0657               ustress(i,j,bi,bj)=ustress(1,j,bi,bj)
                0658               vstress(i,j,bi,bj)=vstress(1,j,bi,bj)
                0659             ENDIF
d0842ebedb Jean*0660             IF ( useCheapTracer ) THEN
2616d73cb2 Nico*0661               CheaptracerR(i,j,bi,bj)=CheaptracerR(1,j,bi,bj)
ffe44ab22b Jean*0662             ENDIF
d0842ebedb Jean*0663             IF ( FluxFormula.EQ.'COARE3' ) THEN
2616d73cb2 Nico*0664               wavesp(i,j,bi,bj)=wavesp(1,j,bi,bj)
                0665               wavesh(i,j,bi,bj)=wavesh(1,j,bi,bj)
d0842ebedb Jean*0666             ENDIF
0bcb68cc3c Jean*0667             IF ( useClouds ) THEN
2616d73cb2 Nico*0668               Cheapclouds(i,j,bi,bj)=Cheapclouds(1,j,bi,bj)
ffe44ab22b Jean*0669             ENDIF
0bcb68cc3c Jean*0670             IF ( useDLongWave ) THEN
a897f57321 Nico*0671               Cheapdlongwave(i,j,bi,bj)=Cheapdlongwave(1,j,bi,bj)
ffe44ab22b Jean*0672             ENDIF
                0673 
7c3371c654 Jean*0674            ELSEIF ( .NOT.cheapamlXperiodic .AND. iG.EQ.1 ) THEN
                0675 
                0676             uWind(i,j,bi,bj)=uWind(2,j,bi,bj)
                0677 
                0678            ELSEIF ( .NOT.cheapamlXperiodic .AND. iG.GT.Nx ) THEN
d0842ebedb Jean*0679 
4fa4901be6 Nico*0680             Tr(i,j,bi,bj)=Tr(sNx,j,bi,bj)
                0681             qr(i,j,bi,bj)=qr(sNx,j,bi,bj)
7c3371c654 Jean*0682             uWind(i,j,bi,bj)=uWind(sNx,j,bi,bj)
                0683             vWind(i,j,bi,bj)=vWind(sNx,j,bi,bj)
4fa4901be6 Nico*0684             Solar(i,j,bi,bj)=Solar(sNx,j,bi,bj)
d0842ebedb Jean*0685             IF ( useStressOption ) THEN
2616d73cb2 Nico*0686               ustress(i,j,bi,bj)=ustress(sNx,j,bi,bj)
                0687               vstress(i,j,bi,bj)=vstress(sNx,j,bi,bj)
d0842ebedb Jean*0688             ENDIF
                0689             IF ( useCheapTracer ) THEN
2616d73cb2 Nico*0690               CheaptracerR(i,j,bi,bj)=CheaptracerR(sNx,j,bi,bj)
ffe44ab22b Jean*0691             ENDIF
d0842ebedb Jean*0692             IF ( FluxFormula.EQ.'COARE3' ) THEN
2616d73cb2 Nico*0693               wavesp(i,j,bi,bj)=wavesp(sNx,j,bi,bj)
                0694               wavesh(i,j,bi,bj)=wavesh(sNx,j,bi,bj)
d0842ebedb Jean*0695             ENDIF
0bcb68cc3c Jean*0696             IF ( useClouds ) THEN
2616d73cb2 Nico*0697               Cheapclouds(i,j,bi,bj)=Cheapclouds(sNx,j,bi,bj)
ffe44ab22b Jean*0698             ENDIF
0bcb68cc3c Jean*0699             IF ( useDLongWave ) THEN
a897f57321 Nico*0700               Cheapdlongwave(i,j,bi,bj)=Cheapdlongwave(sNx,j,bi,bj)
ffe44ab22b Jean*0701             ENDIF
4fa4901be6 Nico*0702 
7c3371c654 Jean*0703            ELSEIF ( .NOT.cheapamlYperiodic .AND. jG.LT.1 ) THEN
d0842ebedb Jean*0704 
4fa4901be6 Nico*0705             Tr(i,j,bi,bj)=Tr(i,1,bi,bj)
                0706             qr(i,j,bi,bj)=qr(i,1,bi,bj)
7c3371c654 Jean*0707             uWind(i,j,bi,bj)=uWind(i,1,bi,bj)
                0708             vWind(i,j,bi,bj)=vWind(i,2,bi,bj)
4fa4901be6 Nico*0709             Solar(i,j,bi,bj)=Solar(i,1,bi,bj)
d0842ebedb Jean*0710             IF ( useStressOption ) THEN
2616d73cb2 Nico*0711               ustress(i,j,bi,bj)=ustress(i,1,bi,bj)
                0712               vstress(i,j,bi,bj)=vstress(i,1,bi,bj)
d0842ebedb Jean*0713             ENDIF
                0714             IF ( useCheapTracer ) THEN
2616d73cb2 Nico*0715               CheaptracerR(i,j,bi,bj)=CheaptracerR(i,1,bi,bj)
ffe44ab22b Jean*0716             ENDIF
0bcb68cc3c Jean*0717             IF ( useClouds ) THEN
2616d73cb2 Nico*0718               Cheapclouds(i,j,bi,bj)=Cheapclouds(i,1,bi,bj)
ffe44ab22b Jean*0719             ENDIF
0bcb68cc3c Jean*0720             IF ( useDLongWave ) THEN
a897f57321 Nico*0721               Cheapdlongwave(i,j,bi,bj)=Cheapdlongwave(i,1,bi,bj)
ffe44ab22b Jean*0722             ENDIF
d0842ebedb Jean*0723             IF ( FluxFormula.EQ.'COARE3' ) THEN
2616d73cb2 Nico*0724               wavesp(i,j,bi,bj)=wavesp(i,1,bi,bj)
                0725               wavesh(i,j,bi,bj)=wavesh(i,1,bi,bj)
d0842ebedb Jean*0726             ENDIF
                0727 
7c3371c654 Jean*0728            ELSEIF ( .NOT.cheapamlYperiodic .AND. jG.EQ.1 ) THEN
                0729 
                0730             vWind(i,j,bi,bj)=vWind(i,2,bi,bj)
                0731 
                0732            ELSEIF ( .NOT.cheapamlYperiodic .AND. jG.GT.Ny ) THEN
ffe44ab22b Jean*0733 
4fa4901be6 Nico*0734             Tr(i,j,bi,bj)=Tr(i,sNy,bi,bj)
                0735             qr(i,j,bi,bj)=qr(i,sNy,bi,bj)
7c3371c654 Jean*0736             uWind(i,j,bi,bj)=uWind(i,sNy,bi,bj)
                0737             vWind(i,j,bi,bj)=vWind(i,sNy,bi,bj)
4fa4901be6 Nico*0738             Solar(i,j,bi,bj)=Solar(i,sNy,bi,bj)
d0842ebedb Jean*0739             IF ( useStressOption ) THEN
2616d73cb2 Nico*0740               ustress(i,j,bi,bj)=ustress(i,sNy,bi,bj)
                0741               vstress(i,j,bi,bj)=vstress(i,sNy,bi,bj)
d0842ebedb Jean*0742             ENDIF
                0743             IF ( useCheapTracer ) THEN
2616d73cb2 Nico*0744               CheaptracerR(i,j,bi,bj)=CheaptracerR(i,sNy,bi,bj)
ffe44ab22b Jean*0745             ENDIF
d0842ebedb Jean*0746             IF ( FluxFormula.EQ.'COARE3' ) THEN
2616d73cb2 Nico*0747               wavesp(i,j,bi,bj)=wavesp(i,sNy,bi,bj)
                0748               wavesh(i,j,bi,bj)=wavesh(i,sNy,bi,bj)
d0842ebedb Jean*0749             ENDIF
0bcb68cc3c Jean*0750             IF ( useClouds ) THEN
2616d73cb2 Nico*0751               Cheapclouds(i,j,bi,bj)=Cheapclouds(i,sNy,bi,bj)
ffe44ab22b Jean*0752             ENDIF
0bcb68cc3c Jean*0753             IF ( useDLongWave ) THEN
a897f57321 Nico*0754               Cheapdlongwave(i,j,bi,bj)=Cheapdlongwave(i,sNy,bi,bj)
ffe44ab22b Jean*0755             ENDIF
                0756 
d0842ebedb Jean*0757            ENDIF
ced0783fba Jean*0758           ENDDO
4fa4901be6 Nico*0759          ENDDO
d0842ebedb Jean*0760        ENDDO
                0761       ENDDO
                0762 
                0763       RETURN
cf5b5345a0 Jean*0764       END