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 10806 for NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traadv_ubs.F90 – NEMO

Ignore:
Timestamp:
2019-03-27T17:55:22+01:00 (5 years ago)
Author:
davestorkey
Message:

2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps branch: Latest updates. Make sure all time-dependent 3D variables are converted in previously modified modules.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r10721_KERNEL-02_Storkey_Coward_IMMERSE_first_steps/src/OCE/TRA/traadv_ubs.F90

    r10802 r10806  
    4646CONTAINS 
    4747 
    48    SUBROUTINE tra_adv_ubs( kt, kit000, ktlev, cdtype, p2dt, pu, pv, pwn,          & 
     48   SUBROUTINE tra_adv_ubs( kt, kit000, ktlev, cdtype, p2dt, pu, pv, pw,          & 
    4949      &                                                pt_lev1, pt_lev2, pt_rhs, kjpt, kn_ubs_v ) 
    5050      !!---------------------------------------------------------------------- 
     
    9191      INTEGER                              , INTENT(in   ) ::   kn_ubs_v        ! number of tracers 
    9292      REAL(wp)                             , INTENT(in   ) ::   p2dt            ! tracer time-step 
    93       REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pu, pv, pwn   ! 3 ocean transport components 
     93      REAL(wp), DIMENSION(jpi,jpj,jpk     ), INTENT(in   ) ::   pu, pv, pw   ! 3 ocean transport components 
    9494      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(in   ) ::   pt_lev1, pt_lev2        ! before and now tracer fields 
    9595      REAL(wp), DIMENSION(jpi,jpj,jpk,kjpt), INTENT(inout) ::   pt_rhs             ! tracer trend  
     
    200200               DO jj = 1, jpj 
    201201                  DO ji = 1, jpi 
    202                      zfp_wk = pwn(ji,jj,jk) + ABS( pwn(ji,jj,jk) ) 
    203                      zfm_wk = pwn(ji,jj,jk) - ABS( pwn(ji,jj,jk) ) 
     202                     zfp_wk = pw(ji,jj,jk) + ABS( pw(ji,jj,jk) ) 
     203                     zfm_wk = pw(ji,jj,jk) - ABS( pw(ji,jj,jk) ) 
    204204                     ztw(ji,jj,jk) = 0.5_wp * (  zfp_wk * pt_lev1(ji,jj,jk,jn) + zfm_wk * pt_lev1(ji,jj,jk-1,jn)  ) * wmask(ji,jj,jk) 
    205205                  END DO 
     
    210210                  DO jj = 1, jpj 
    211211                     DO ji = 1, jpi 
    212                         ztw(ji,jj, mikt(ji,jj) ) = pwn(ji,jj,mikt(ji,jj)) * pt_lev1(ji,jj,mikt(ji,jj),jn)   ! linear free surface  
     212                        ztw(ji,jj, mikt(ji,jj) ) = pw(ji,jj,mikt(ji,jj)) * pt_lev1(ji,jj,mikt(ji,jj),jn)   ! linear free surface  
    213213                     END DO 
    214214                  END DO    
    215215               ELSE                                ! no cavities: only at the ocean surface 
    216                   ztw(:,:,1) = pwn(:,:,1) * pt_lev1(:,:,1,jn) 
     216                  ztw(:,:,1) = pw(:,:,1) * pt_lev1(:,:,1,jn) 
    217217               ENDIF 
    218218            ENDIF 
     
    233233               DO jj = 1, jpj 
    234234                  DO ji = 1, jpi 
    235                      ztw(ji,jj,jk) = (   0.5_wp * pwn(ji,jj,jk) * ( pt_lev2(ji,jj,jk,jn) + pt_lev2(ji,jj,jk-1,jn) )   & 
     235                     ztw(ji,jj,jk) = (   0.5_wp * pw(ji,jj,jk) * ( pt_lev2(ji,jj,jk,jn) + pt_lev2(ji,jj,jk-1,jn) )   & 
    236236                        &              - ztw(ji,jj,jk)   ) * wmask(ji,jj,jk) 
    237237                  END DO 
     
    248248               DO jj = 2, jpjm1 
    249249                  DO ji = fs_2, fs_jpim1 
    250                      ztw(ji,jj,jk) = pwn(ji,jj,jk) * ztw(ji,jj,jk) * wmask(ji,jj,jk) 
    251                   END DO 
    252                END DO 
    253             END DO 
    254             IF( ln_linssh )   ztw(:,:, 1 ) = pwn(:,:,1) * pt_lev2(:,:,1,jn)     !!gm ISF & 4th COMPACT doesn't work 
     250                     ztw(ji,jj,jk) = pw(ji,jj,jk) * ztw(ji,jj,jk) * wmask(ji,jj,jk) 
     251                  END DO 
     252               END DO 
     253            END DO 
     254            IF( ln_linssh )   ztw(:,:, 1 ) = pw(:,:,1) * pt_lev2(:,:,1,jn)     !!gm ISF & 4th COMPACT doesn't work 
    255255            ! 
    256256         END SELECT 
     
    269269                  DO ji = fs_2, fs_jpim1   ! vector opt. 
    270270                     zltv(ji,jj,jk) = pt_rhs(ji,jj,jk,jn) - zltv(ji,jj,jk)                          & 
    271                         &           + pt_lev2(ji,jj,jk,jn) * (  pwn(ji,jj,jk) - pwn(ji,jj,jk+1)  )   & 
     271                        &           + pt_lev2(ji,jj,jk,jn) * (  pw(ji,jj,jk) - pw(ji,jj,jk+1)  )   & 
    272272                        &                              * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,ktlev) 
    273273                  END DO 
Note: See TracChangeset for help on using the changeset viewer.