New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 2470 for trunk – NEMO

Changeset 2470 for trunk


Ignore:
Timestamp:
2010-12-08T16:08:16+01:00 (13 years ago)
Author:
cetlod
Message:

v3.2 : bug correction in zdfbrf.F90, dynbfr.F90 & dynspg_ts.F90 see ticket #767

Location:
trunk/NEMO/OPA_SRC
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/DYN/dynbfr.F90

    r1719 r2470  
    7676            ! 
    7777            ! Apply stability criteria on absolute value  : Min abs(bfr) => Max (bfr) 
    78             zbfru = MAX( bfrua(ji,jj), fse3u(ji,jj,ikbu)*zinv ) 
    79             zbfrv = MAX( bfrva(ji,jj), fse3v(ji,jj,ikbv)*zinv ) 
     78            zbfru = MAX( bfrua(ji,jj), fse3u(ji,jj,ikbum1)*zinv ) 
     79            zbfrv = MAX( bfrva(ji,jj), fse3v(ji,jj,ikbvm1)*zinv ) 
    8080            ! 
    81             ua(ji,jj,ikbum1) = ua(ji,jj,ikbum1) + zbfru * ub(ji,jj,ikbum1) / fse3u(ji,jj,ikbu) 
    82             va(ji,jj,ikbvm1) = va(ji,jj,ikbvm1) + zbfrv * vb(ji,jj,ikbvm1) / fse3v(ji,jj,ikbv) 
     81            ua(ji,jj,ikbum1) = ua(ji,jj,ikbum1) + zbfru * ub(ji,jj,ikbum1) / fse3u(ji,jj,ikbum1) 
     82            va(ji,jj,ikbvm1) = va(ji,jj,ikbvm1) + zbfrv * vb(ji,jj,ikbvm1) / fse3v(ji,jj,ikbvm1) 
    8383            ! 
    8484         END DO 
  • trunk/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r2145 r2470  
    9393      !! 
    9494      INTEGER  ::   ji, jj, jk, jn   ! dummy loop indices 
    95       INTEGER  ::   icycle           ! temporary scalar 
    96       INTEGER  ::   ikbu, ikbv        ! temporary scalar 
     95      INTEGER  ::   icycle                           ! temporary integers 
     96      INTEGER  ::   ikbu, ikbv, ikbum1, ikbvm1       !   -          - 
    9797 
    9898      REAL(wp) ::   zraur, zcoef, z2dt_e, z2dt_b     ! temporary scalars 
     
    267267            ikbu = MIN( mbathy(ji+1,jj), mbathy(ji,jj) ) 
    268268            ikbv = MIN( mbathy(ji,jj+1), mbathy(ji,jj) ) 
     269            ikbum1 = MAX( ikbu-1, 1 ) 
     270            ikbvm1 = MAX( ikbv-1, 1 ) 
     271 
    269272            ! 
    270273            ! Apply stability criteria for bottom friction 
    271274            !RBbug for vvl and external mode we may need to 
    272275            ! use varying fse3 
    273             zbfru  (ji,jj) = MAX( bfrua(ji,jj), fse3u(ji,jj,ikbu)*zcoef ) 
    274             zbfrv  (ji,jj) = MAX( bfrva(ji,jj), fse3v(ji,jj,ikbv)*zcoef ) 
     276            zbfru  (ji,jj) = MAX( bfrua(ji,jj), fse3u(ji,jj,ikbum1)*zcoef ) 
     277            zbfrv  (ji,jj) = MAX( bfrva(ji,jj), fse3v(ji,jj,ikbvm1)*zcoef ) 
    275278         END DO 
    276279      END DO 
  • trunk/NEMO/OPA_SRC/ZDF/zdfbfr.F90

    r1708 r2470  
    131131      USE iom   ! I/O module for ehanced bottom friction file 
    132132      !! 
    133       INTEGER ::   inum         ! logical unit for enhanced bottom friction file 
    134       INTEGER ::   ji, jj       ! dummy loop indexes 
    135       INTEGER ::   ikbu, ikbv   ! temporary integers 
    136       INTEGER ::   ictu, ictv   !    -          - 
    137       REAL(wp) ::  zminbfr, zmaxbfr   ! temporary scalars 
    138       REAL(wp) ::  zfru, zfrv         !    -         - 
     133      INTEGER ::   inum                         ! logical unit for enhanced bottom friction file 
     134      INTEGER ::   ji, jj                       ! dummy loop indexes 
     135      INTEGER ::   ikbu, ikbv, ikbum1, ikbvm1   ! temporary integers 
     136      INTEGER ::   ictu, ictv                   !    -          - 
     137      REAL(wp) ::  zminbfr, zmaxbfr             ! temporary scalars 
     138      REAL(wp) ::  zfru, zfrv                   !    -         - 
    139139      !! 
    140140      NAMELIST/nambfr/ nn_bfr, rn_bfri1, rn_bfri2, rn_bfeb2, ln_bfr2d, rn_bfrien 
     
    220220             ikbu = MIN( mbathy(ji+1,jj  ), mbathy(ji,jj) ) 
    221221             ikbv = MIN( mbathy(ji  ,jj+1), mbathy(ji,jj) ) 
    222              zfru = 0.5 * fse3u(ji,jj,ikbu) / rdt 
    223              zfrv = 0.5 * fse3v(ji,jj,ikbv) / rdt 
     222             ikbum1 = MAX( ikbu-1, 1 ) 
     223             ikbvm1 = MAX( ikbv-1, 1 ) 
     224             zfru = 0.5 * fse3u(ji,jj,ikbum1) / rdt 
     225             zfrv = 0.5 * fse3v(ji,jj,ikbvm1) / rdt 
    224226             IF( ABS( bfrcoef2d(ji,jj) ) > zfru ) THEN 
    225227                IF( ln_ctl ) THEN 
Note: See TracChangeset for help on using the changeset viewer.