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 5948 for branches/2014/dev_r4650_UKMO12_CFL_diags_take2/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90 – NEMO

Ignore:
Timestamp:
2015-11-30T11:47:24+01:00 (8 years ago)
Author:
timgraham
Message:

Merged in head of trunk (r5936)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_r4650_UKMO12_CFL_diags_take2/NEMOGCM/NEMO/OPA_SRC/DYN/dynzad.F90

    r5947 r5948  
    4949      !! 
    5050      !! ** Method  :   The now vertical advection of momentum is given by: 
    51       !!         w dz(u) = ua + 1/(e1u*e2u*e3u) mk+1[ mi(e1t*e2t*wn) dk(un) ] 
    52       !!         w dz(v) = va + 1/(e1v*e2v*e3v) mk+1[ mj(e1t*e2t*wn) dk(vn) ] 
     51      !!         w dz(u) = ua + 1/(e1e2u*e3u) mk+1[ mi(e1e2t*wn) dk(un) ] 
     52      !!         w dz(v) = va + 1/(e1e2v*e3v) mk+1[ mj(e1e2t*wn) dk(vn) ] 
    5353      !!      Add this trend to the general trend (ua,va): 
    5454      !!         (ua,va) = (ua,va) + w dz(u,v) 
     
    8585         DO jj = 2, jpj                   ! vertical fluxes  
    8686            DO ji = fs_2, jpi             ! vector opt. 
    87                zww(ji,jj) = 0.25_wp * e1t(ji,jj) * e2t(ji,jj) * wn(ji,jj,jk) 
     87               zww(ji,jj) = 0.25_wp * e1e2t(ji,jj) * wn(ji,jj,jk) 
    8888            END DO 
    8989         END DO 
     
    121121            DO ji = fs_2, fs_jpim1       ! vector opt. 
    122122               !                         ! vertical momentum advective trends 
    123                zua = - ( zwuw(ji,jj,jk) + zwuw(ji,jj,jk+1) ) / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) ) 
    124                zva = - ( zwvw(ji,jj,jk) + zwvw(ji,jj,jk+1) ) / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) ) 
     123               zua = - ( zwuw(ji,jj,jk) + zwuw(ji,jj,jk+1) ) / ( e1e2u(ji,jj) * fse3u(ji,jj,jk) ) 
     124               zva = - ( zwvw(ji,jj,jk) + zwvw(ji,jj,jk+1) ) / ( e1e2v(ji,jj) * fse3v(ji,jj,jk) ) 
    125125               !                         ! add the trends to the general momentum trends 
    126126               ua(ji,jj,jk) = ua(ji,jj,jk) + zua 
     
    146146      ! 
    147147   END SUBROUTINE dyn_zad 
     148 
    148149 
    149150   SUBROUTINE dyn_zad_zts ( kt ) 
     
    182183      IF( nn_timing == 1 )  CALL timing_start('dyn_zad_zts') 
    183184      ! 
    184       CALL wrk_alloc( jpi,jpj,jpk, zwuw , zwvw, zww )  
    185       CALL wrk_alloc( jpi,jpj,jpk,3, zus, zvs )  
     185      CALL wrk_alloc( jpi,jpj,jpk,     zwuw, zwvw, zww )  
     186      CALL wrk_alloc( jpi,jpj,jpk,3,   zus , zvs )  
    186187      ! 
    187188      IF( kt == nit000 ) THEN 
     
    205206         DO jj = 2, jpj                    
    206207            DO ji = fs_2, jpi             ! vector opt. 
    207                zww(ji,jj,jk) = 0.25_wp * e1t(ji,jj) * e2t(ji,jj) * wn(ji,jj,jk) 
     208               zww(ji,jj,jk) = 0.25_wp * e1e2t(ji,jj) * wn(ji,jj,jk) 
    208209            END DO 
    209210         END DO 
    210211      END DO 
    211       ! 
    212       ! Surface and bottom advective fluxes set to zero 
    213       DO jj = 2, jpjm1         
     212 
     213      DO jj = 2, jpjm1                    ! Surface and bottom advective fluxes set to zero 
    214214         DO ji = fs_2, fs_jpim1           ! vector opt. 
     215 !!gm missing ISF boundary condition 
    215216            zwuw(ji,jj, 1 ) = 0._wp 
    216217            zwvw(ji,jj, 1 ) = 0._wp 
     
    251252               DO ji = fs_2, fs_jpim1       ! vector opt. 
    252253                  !                         ! vertical momentum advective trends 
    253                   zua = - ( zwuw(ji,jj,jk) + zwuw(ji,jj,jk+1) ) / ( e1u(ji,jj) * e2u(ji,jj) * fse3u(ji,jj,jk) ) 
    254                   zva = - ( zwvw(ji,jj,jk) + zwvw(ji,jj,jk+1) ) / ( e1v(ji,jj) * e2v(ji,jj) * fse3v(ji,jj,jk) ) 
     254                  zua = - ( zwuw(ji,jj,jk) + zwuw(ji,jj,jk+1) ) / ( e1e2u(ji,jj) * fse3u(ji,jj,jk) ) 
     255                  zva = - ( zwvw(ji,jj,jk) + zwvw(ji,jj,jk+1) ) / ( e1e2v(ji,jj) * fse3v(ji,jj,jk) ) 
    255256                  zus(ji,jj,jk,jta) = zus(ji,jj,jk,jtb) + zua * zts 
    256257                  zvs(ji,jj,jk,jta) = zvs(ji,jj,jk,jtb) + zva * zts 
     
    283284         &                       tab3d_2=va, clinfo2=       ' Va: ', mask2=vmask, clinfo3='dyn' ) 
    284285      ! 
    285       CALL wrk_dealloc( jpi,jpj,jpk, zwuw , zwvw, zww )  
    286       CALL wrk_dealloc( jpi,jpj,jpk,3, zus, zvs )  
     286      CALL wrk_dealloc( jpi,jpj,jpk,     zwuw, zwvw, zww )  
     287      CALL wrk_dealloc( jpi,jpj,jpk,3,   zus , zvs )  
    287288      ! 
    288289      IF( nn_timing == 1 )  CALL timing_stop('dyn_zad_zts') 
Note: See TracChangeset for help on using the changeset viewer.