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 13782 for NEMO – NEMO

Changeset 13782 for NEMO


Ignore:
Timestamp:
2020-11-11T18:41:55+01:00 (3 years ago)
Author:
techene
Message:

#2366 adapt new hpg management to AGRIF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r13333_KERNEL-08_techene_gm_HPG_SPG/src/NST/agrif_oce_update.F90

    r13286 r13782  
    886886      REAL(wp), DIMENSION(i1:i2,j1:j2), INTENT(inout) ::   tabres 
    887887      LOGICAL                         , INTENT(in   ) ::   before 
     888      !! 
     889      REAL(wp), DIMENSION(jpi,jpj) ::   zpgu   ! 2D workspace 
    888890      !!  
    889891      INTEGER  :: ji, jj, jk 
     
    905907               !     
    906908               ! Update "now" 3d velocities: 
    907                spgu(ji,jj) = 0._wp 
     909               zpgu(ji,jj) = 0._wp 
    908910               DO jk=1,jpkm1 
    909                   spgu(ji,jj) = spgu(ji,jj) + e3u(ji,jj,jk,Kmm_a) * uu(ji,jj,jk,Kmm_a) 
     911                  zpgu(ji,jj) = zpgu(ji,jj) + e3u(ji,jj,jk,Kmm_a) * uu(ji,jj,jk,Kmm_a) 
    910912               END DO 
    911913               ! 
    912                zcorr = (tabres(ji,jj) - spgu(ji,jj)) * r1_hu(ji,jj,Kmm_a) 
     914               zcorr = (tabres(ji,jj) - zpgu(ji,jj)) * r1_hu(ji,jj,Kmm_a) 
    913915               DO jk=1,jpkm1               
    914916                  uu(ji,jj,jk,Kmm_a) = uu(ji,jj,jk,Kmm_a) + zcorr * umask(ji,jj,jk)            
     
    925927               !        
    926928               ! Correct "before" velocities to hold correct bt component: 
    927                spgu(ji,jj) = 0.e0 
     929               zpgu(ji,jj) = 0.e0 
    928930               DO jk=1,jpkm1 
    929                   spgu(ji,jj) = spgu(ji,jj) + e3u(ji,jj,jk,Kbb_a) * uu(ji,jj,jk,Kbb_a) 
     931                  zpgu(ji,jj) = zpgu(ji,jj) + e3u(ji,jj,jk,Kbb_a) * uu(ji,jj,jk,Kbb_a) 
    930932               END DO 
    931933               ! 
    932                zcorr = uu_b(ji,jj,Kbb_a) - spgu(ji,jj) * r1_hu(ji,jj,Kbb_a) 
     934               zcorr = uu_b(ji,jj,Kbb_a) - zpgu(ji,jj) * r1_hu(ji,jj,Kbb_a) 
    933935               DO jk=1,jpkm1               
    934936                  uu(ji,jj,jk,Kbb_a) = uu(ji,jj,jk,Kbb_a) + zcorr * umask(ji,jj,jk)            
     
    953955      REAL(wp), DIMENSION(i1:i2,j1:j2), INTENT(inout) ::   tabres 
    954956      LOGICAL                         , INTENT(in   ) ::   before 
     957      ! 
     958      REAL(wp), DIMENSION(jpi,jpj) ::   zpgv   ! 2D workspace 
    955959      !  
    956960      INTEGER  :: ji, jj, jk 
     
    971975               !     
    972976               ! Update "now" 3d velocities: 
    973                spgv(ji,jj) = 0.e0 
     977               zpgv(ji,jj) = 0.e0 
    974978               DO jk=1,jpkm1 
    975                   spgv(ji,jj) = spgv(ji,jj) + e3v(ji,jj,jk,Kmm_a) * vv(ji,jj,jk,Kmm_a) 
     979                  zpgv(ji,jj) = zpgv(ji,jj) + e3v(ji,jj,jk,Kmm_a) * vv(ji,jj,jk,Kmm_a) 
    976980               END DO 
    977981               ! 
    978                zcorr = (tabres(ji,jj) - spgv(ji,jj)) * r1_hv(ji,jj,Kmm_a) 
     982               zcorr = (tabres(ji,jj) - zpgv(ji,jj)) * r1_hv(ji,jj,Kmm_a) 
    979983               DO jk=1,jpkm1               
    980984                  vv(ji,jj,jk,Kmm_a) = vv(ji,jj,jk,Kmm_a) + zcorr * vmask(ji,jj,jk)            
     
    991995               !        
    992996               ! Correct "before" velocities to hold correct bt component: 
    993                spgv(ji,jj) = 0.e0 
     997               zpgv(ji,jj) = 0.e0 
    994998               DO jk=1,jpkm1 
    995                   spgv(ji,jj) = spgv(ji,jj) + e3v(ji,jj,jk,Kbb_a) * vv(ji,jj,jk,Kbb_a) 
     999                  zpgv(ji,jj) = zpgv(ji,jj) + e3v(ji,jj,jk,Kbb_a) * vv(ji,jj,jk,Kbb_a) 
    9961000               END DO 
    9971001               ! 
    998                zcorr = vv_b(ji,jj,Kbb_a) - spgv(ji,jj) * r1_hv(ji,jj,Kbb_a) 
     1002               zcorr = vv_b(ji,jj,Kbb_a) - zpgv(ji,jj) * r1_hv(ji,jj,Kbb_a) 
    9991003               DO jk=1,jpkm1               
    10001004                  vv(ji,jj,jk,Kbb_a) = vv(ji,jj,jk,Kbb_a) + zcorr * vmask(ji,jj,jk)            
Note: See TracChangeset for help on using the changeset viewer.