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 3902 – NEMO

Changeset 3902


Ignore:
Timestamp:
2013-05-03T17:18:56+02:00 (11 years ago)
Author:
davestorkey
Message:

bug fixes

Location:
branches/2013/dev_r3891_METO1_MERCATOR6_OBC_BDY_merge/NEMOGCM/NEMO/OPA_SRC
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_r3891_METO1_MERCATOR6_OBC_BDY_merge/NEMOGCM/NEMO/OPA_SRC/BDY/bdydyn2d.F90

    r3900 r3902  
    9292         ij   = idx%nbj(jb,igrd) 
    9393         zwgt = idx%nbw(jb,igrd) 
    94          pu2d(ii,ij) = ( pu2d(ii,ij) + zwgt * ( dta%u2d(jb) - pu2d(ii,ij) ) ) * umask(ii,ij,1) 
     94         pua2d(ii,ij) = ( pua2d(ii,ij) + zwgt * ( dta%u2d(jb) - pua2d(ii,ij) ) ) * umask(ii,ij,1) 
    9595      END DO 
    9696      ! 
     
    100100         ij   = idx%nbj(jb,igrd) 
    101101         zwgt = idx%nbw(jb,igrd) 
    102          pv2d(ii,ij) = ( pv2d(ii,ij) + zwgt * ( dta%v2d(jb) - pv2d(ii,ij) ) ) * vmask(ii,ij,1) 
     102         pva2d(ii,ij) = ( pva2d(ii,ij) + zwgt * ( dta%v2d(jb) - pva2d(ii,ij) ) ) * vmask(ii,ij,1) 
    103103      END DO  
    104104      CALL lbc_bdy_lnk( pu2d, 'U', -1., ib_bdy )  
     
    163163         ii  = idx%nbi(jb,igrd) 
    164164         ij  = idx%nbj(jb,igrd)  
    165          iim1 = ii + MAX( 0, INT( idx%flagu(jb) ) )   ! T pts i-indice inside the boundary 
    166          iip1 = ii - MIN( 0, INT( idx%flagu(jb) ) )   ! T pts i-indice outside the boundary  
     165         flagu => idx%flagu(jb,igrd) 
     166         iim1 = ii + MAX( 0, INT( flagu ) )   ! T pts i-indice inside the boundary 
     167         iip1 = ii - MIN( 0, INT( flagu ) )   ! T pts i-indice outside the boundary  
    167168         ! 
    168          zcorr = - idx%flagu(jb) * SQRT( grav * phur(ii, ij) ) * ( pssh(iim1, ij) - spgu(iip1,ij) ) 
     169         zcorr = - flagu * SQRT( grav * phur(ii, ij) ) * ( pssh(iim1, ij) - spgu(iip1,ij) ) 
    169170         zforc = dta%u2d(jb) 
    170          pu2d(ii,ij) = zforc + zcorr * umask(ii,ij,1)  
     171         pua2d(ii,ij) = zforc + zcorr * umask(ii,ij,1)  
    171172      END DO 
    172173      ! 
     
    176177         ii  = idx%nbi(jb,igrd) 
    177178         ij  = idx%nbj(jb,igrd)  
    178          ijm1 = ij + MAX( 0, INT( idx%flagv(jb) ) )   ! T pts j-indice inside the boundary 
    179          ijp1 = ij - MIN( 0, INT( idx%flagv(jb) ) )   ! T pts j-indice outside the boundary  
     179         flagv => idx%flagv(jb,igrd) 
     180         ijm1 = ij + MAX( 0, INT( flagv ) )   ! T pts j-indice inside the boundary 
     181         ijp1 = ij - MIN( 0, INT( flagv ) )   ! T pts j-indice outside the boundary  
    180182         ! 
    181          zcorr = - idx%flagv(jb) * SQRT( grav * phvr(ii, ij) ) * ( pssh(ii, ijm1) - spgu(ii,ijp1) ) 
     183         zcorr = - flagv * SQRT( grav * phvr(ii, ij) ) * ( pssh(ii, ijm1) - spgu(ii,ijp1) ) 
    182184         zforc = dta%v2d(jb) 
    183          pv2d(ii,ij) = zforc + zcorr * vmask(ii,ij,1) 
    184       END DO 
    185       CALL lbc_bdy_lnk( pu2d, 'U', -1., ib_bdy )   ! Boundary points should be updated 
    186       CALL lbc_bdy_lnk( pv2d, 'V', -1., ib_bdy )   ! 
     185         pva2d(ii,ij) = zforc + zcorr * vmask(ii,ij,1) 
     186      END DO 
     187      CALL lbc_bdy_lnk( pua2d, 'U', -1., ib_bdy )   ! Boundary points should be updated 
     188      CALL lbc_bdy_lnk( pva2d, 'V', -1., ib_bdy )   ! 
    187189      ! 
    188190      IF( nn_timing == 1 ) CALL timing_stop('bdy_dyn2d_fla') 
  • branches/2013/dev_r3891_METO1_MERCATOR6_OBC_BDY_merge/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90

    r3900 r3902  
    11391139               nbi => idx_bdy(ib_bdy)%nbi(ib,igrd) 
    11401140               nbj => idx_bdy(ib_bdy)%nbj(ib,igrd) 
    1141                znfl = bdytmask(nbi,nbj  ) 
    1142                zsfl = bdytmask(nbi,nbj+1) 
     1141               znfl = mask(nbi,nbj  ) 
     1142               zsfl = mask(nbi,nbj+1) 
    11431143               IF( znfl + zsfl == 2 ) THEN 
    11441144                  icount = icount + 1 
  • branches/2013/dev_r3891_METO1_MERCATOR6_OBC_BDY_merge/NEMOGCM/NEMO/OPA_SRC/BDY/bdylib.F90

    r3900 r3902  
    7272         ! calculate positions of b-1 and b-2 points for this rim point 
    7373         ! also (b-1,j-1) and (b-1,j+1) points 
    74          iibm1 = ii + flagu ; iibm2 = ii + 2*flagu  
    75          ijbm1 = ij + flagv ; ijbm2 = ij + 2*flagv   
     74         iibm1 = ii + int(flagu) ; iibm2 = ii + 2*int(flagu)  
     75         ijbm1 = ij + int(flagv) ; ijbm2 = ij + 2*int(flagv)   
    7676         ! 
    77          iibm1jm1 = ii + flagu - abs(flagv) ; iibm1jp1 = ii + flagu + abs(flagv)  
    78          ijbm1jm1 = ij + flagv - abs(flagu) ; ijbm1jp1 = ij + flagv + abs(flagu)  
     77         iibm1jm1 = ii + int(flagu) - abs(int(flagv)) ; iibm1jp1 = ii + int(flagu) + abs(int(flagv))  
     78         ijbm1jm1 = ij + int(flagv) - abs(int(flagu)) ; ijbm1jp1 = ij + int(flagv) + abs(int(flagu))  
    7979         ! 
    8080         ! normal radiation velocity: 
  • branches/2013/dev_r3891_METO1_MERCATOR6_OBC_BDY_merge/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90

    r3680 r3902  
    594594         phur => hur_e 
    595595         phvr => hvr_e 
    596          pu2d => ua_e 
    597          pv2d => va_e 
     596         pua2d => ua_e 
     597         pva2d => va_e 
    598598 
    599599         IF( lk_bdy )   CALL bdy_dyn2d( kt )  
Note: See TracChangeset for help on using the changeset viewer.