Changeset 6995


Ignore:
Timestamp:
2016-10-05T15:40:52+02:00 (4 years ago)
Author:
acc
Message:

Branch dev_r6393_NOC_WAD. Corrected reproducibility error in wet_dry.F90

Location:
branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/DYN/wet_dry.F90

    r6986 r6995  
    146146        ! Horizontal Flux in u and v direction 
    147147        DO jk = 1, jpkm1   
    148            DO jj = 1, jpjm1 
    149               DO ji = 1, jpim1 
     148           DO jj = 1, jpj 
     149              DO ji = 1, jpi 
    150150                 zflxu(ji,jj) = zflxu(ji,jj) + e3u_n(ji,jj,jk) * un(ji,jj,jk) * umask(ji,jj,jk) 
    151151                 zflxv(ji,jj) = zflxv(ji,jj) + e3v_n(ji,jj,jk) * vn(ji,jj,jk) * vmask(ji,jj,jk) 
     
    158158        
    159159        wdmask(:,:) = 1 
    160         DO jj = 2, jpjm1 
    161            DO ji = 2, jpim1  
     160        DO jj = 2, jpj 
     161           DO ji = 2, jpi  
    162162 
    163163             IF(tmask(ji, jj, 1) < 0.5_wp) CYCLE   ! we don't care about land cells 
     
    186186           zflxv1(:,:) = zflxv(:,:) * zwdlmtv(:,:) 
    187187           
    188            DO jj = 2, jpjm1 
    189               DO ji = 2, jpim1  
     188           DO jj = 2, jpj 
     189              DO ji = 2, jpi  
    190190         
    191191                 IF(tmask(ji, jj, 1) < 0.5_wp) CYCLE  
  • branches/2016/dev_r6393_NOC_WAD/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_fct.F90

    r6140 r6995  
    149149            DO jj = 2, jpjm1 
    150150               DO ji = fs_2, fs_jpim1   ! vector opt. 
    151                   ! total intermediate advective trends 
     151                  !                             ! total intermediate advective trends 
    152152                  ztra = - (  zwx(ji,jj,jk) - zwx(ji-1,jj  ,jk  )   & 
    153153                     &      + zwy(ji,jj,jk) - zwy(ji  ,jj-1,jk  )   & 
    154                      &      + zwz(ji,jj,jk) - zwz(ji  ,jj  ,jk+1) ) * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 
    155                   ! update and guess with monotonic sheme 
    156 !!gm why tmask added in the two following lines ???    the mask is done in tranxt ! 
    157                   pta(ji,jj,jk,jn) =   pta(ji,jj,jk,jn)         + ztra   * tmask(ji,jj,jk) 
    158                   zwi(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + p2dt * ztra ) * tmask(ji,jj,jk) 
     154                     &      + zwz(ji,jj,jk) - zwz(ji  ,jj  ,jk+1) ) * r1_e1e2t(ji,jj) 
     155                  !                             ! update and guess with monotonic sheme 
     156                  pta(ji,jj,jk,jn) =                     pta(ji,jj,jk,jn) +        ztra   / e3t_n(ji,jj,jk) * tmask(ji,jj,jk) 
     157                  zwi(ji,jj,jk)    = ( e3t_b(ji,jj,jk) * ptb(ji,jj,jk,jn) + p2dt * ztra ) / e3t_a(ji,jj,jk) * tmask(ji,jj,jk) 
    159158               END DO 
    160159            END DO 
     
    163162         !                 
    164163         IF( l_trd )  THEN             ! trend diagnostics (contribution of upstream fluxes) 
    165             ztrdx(:,:,:) = zwx(:,:,:)   ;    ztrdy(:,:,:) = zwy(:,:,:)  ;   ztrdz(:,:,:) = zwz(:,:,:) 
     164            ztrdx(:,:,:) = zwx(:,:,:)   ;   ztrdy(:,:,:) = zwy(:,:,:)   ;   ztrdz(:,:,:) = zwz(:,:,:) 
    166165         END IF 
    167166         !                             ! "Poleward" heat and salt transports (contribution of upstream fluxes) 
     
    364363      ! 
    365364      CALL wrk_alloc( jpi,jpj,             zwx_sav, zwy_sav ) 
    366       CALL wrk_alloc( jpi,jpj, jpk,        zwx, zwy, zwz, zwi, zhdiv, zwzts, zwz_sav ) 
     365      CALL wrk_alloc( jpi,jpj,jpk,         zwx, zwy, zwz, zwi, zhdiv, zwzts, zwz_sav ) 
    367366      CALL wrk_alloc( jpi,jpj,jpk,kjpt+1,  ztrs ) 
    368367      ! 
     
    436435                  ztra = - (  zwx(ji,jj,jk) - zwx(ji-1,jj  ,jk  )   & 
    437436                     &      + zwy(ji,jj,jk) - zwy(ji  ,jj-1,jk  )   & 
    438                      &      + zwz(ji,jj,jk) - zwz(ji  ,jj  ,jk+1)   ) * r1_e1e2t(ji,jj) / e3t_n(ji,jj,jk) 
     437                     &      + zwz(ji,jj,jk) - zwz(ji  ,jj  ,jk+1)   ) * r1_e1e2t(ji,jj) 
    439438                  !                             ! update and guess with monotonic sheme 
    440                   pta(ji,jj,jk,jn) =   pta(ji,jj,jk,jn)         + ztra 
    441                   zwi(ji,jj,jk)    = ( ptb(ji,jj,jk,jn) + p2dt * ztra ) * tmask(ji,jj,jk) 
     439                  pta(ji,jj,jk,jn) =                     pta(ji,jj,jk,jn) +        ztra   / e3t_n(ji,jj,jk) * tmask(ji,jj,jk) 
     440                  zwi(ji,jj,jk)    = ( e3t_b(ji,jj,jk) * ptb(ji,jj,jk,jn) + p2dt * ztra ) / e3t_a(ji,jj,jk) * tmask(ji,jj,jk) 
    442441               END DO 
    443442            END DO 
     
    488487         zwz_sav(:,:,:)   = zwz(:,:,:) 
    489488         ztrs   (:,:,:,1) = ptb(:,:,:,jn) 
     489         ztrs   (:,:,1,2) = ptb(:,:,1,jn) 
     490         ztrs   (:,:,1,3) = ptb(:,:,1,jn) 
    490491         zwzts  (:,:,:)   = 0._wp 
    491492         ! 
Note: See TracChangeset for help on using the changeset viewer.