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 12606 for NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN/dynldf_lap_blp.F90 – NEMO

Ignore:
Timestamp:
2020-03-26T11:15:02+01:00 (4 years ago)
Author:
techene
Message:

all: add e3 substitute and limit precompiled files lines to about 130 character, OCE/TRA/traisf.F90: remove ONLY : e3t, r1_e1e2t

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN/dynldf_lap_blp.F90

    r12377 r12606  
    1414   USE dom_oce        ! ocean space and time domain 
    1515   USE ldfdyn         ! lateral diffusion: eddy viscosity coef. 
    16    USE ldfslp         ! iso-neutral slopes  
     16   USE ldfslp         ! iso-neutral slopes 
    1717   USE zdf_oce        ! ocean vertical physics 
    1818   ! 
     
    2828   !! * Substitutions 
    2929#  include "do_loop_substitute.h90" 
     30#  include "domzgr_substitute.h90" 
    3031   !!---------------------------------------------------------------------- 
    3132   !! NEMO/OCE 4.0 , NEMO Consortium (2018) 
    32    !! $Id$  
     33   !! $Id$ 
    3334   !! Software governed by the CeCILL license (see ./LICENSE) 
    3435   !!---------------------------------------------------------------------- 
     
    3839      !!---------------------------------------------------------------------- 
    3940      !!                     ***  ROUTINE dyn_ldf_lap  *** 
    40       !!                        
    41       !! ** Purpose :   Compute the before horizontal momentum diffusive  
     41      !! 
     42      !! ** Purpose :   Compute the before horizontal momentum diffusive 
    4243      !!      trend and add it to the general trend of momentum equation. 
    4344      !! 
    44       !! ** Method  :   The Laplacian operator apply on horizontal velocity is  
    45       !!      writen as :   grad_h( ahmt div_h(U )) - curl_h( ahmf curl_z(U) )  
     45      !! ** Method  :   The Laplacian operator apply on horizontal velocity is 
     46      !!      writen as :   grad_h( ahmt div_h(U )) - curl_h( ahmf curl_z(U) ) 
    4647      !! 
    4748      !! ** Action : - pu_rhs, pv_rhs increased by the harmonic operator applied on pu, pv. 
     
    7677!!gm open question here : e3f  at before or now ?    probably now... 
    7778!!gm note that ahmf has already been multiplied by fmask 
    78             zcur(ji-1,jj-1) = ahmf(ji-1,jj-1,jk) * e3f(ji-1,jj-1,jk) * r1_e1e2f(ji-1,jj-1)       & 
    79                &     * (  e2v(ji  ,jj-1) * pv(ji  ,jj-1,jk) - e2v(ji-1,jj-1) * pv(ji-1,jj-1,jk)  & 
    80                &        - e1u(ji-1,jj  ) * pu(ji-1,jj  ,jk) + e1u(ji-1,jj-1) * pu(ji-1,jj-1,jk)  ) 
     79            zcur(ji-1,jj-1) =  & 
     80               &      ahmf(ji-1,jj-1,jk) * e3f(ji-1,jj-1,jk) * r1_e1e2f(ji-1,jj-1)      & 
     81               &  * (  e2v(ji  ,jj-1) * pv(ji  ,jj-1,jk) - e2v(ji-1,jj-1) * pv(ji-1,jj-1,jk)  & 
     82               &     - e1u(ji-1,jj  ) * pu(ji-1,jj  ,jk) + e1u(ji-1,jj-1) * pu(ji-1,jj-1,jk)  ) 
    8183            !                                      ! ahm * div        (computed from 2 to jpi/jpj) 
    8284!!gm note that ahmt has already been multiplied by tmask 
    83             zdiv(ji,jj)     = ahmt(ji,jj,jk) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kbb)                                         & 
    84                &     * (  e2u(ji,jj)*e3u(ji,jj,jk,Kbb) * pu(ji,jj,jk) - e2u(ji-1,jj)*e3u(ji-1,jj,jk,Kbb) * pu(ji-1,jj,jk)  & 
    85                &        + e1v(ji,jj)*e3v(ji,jj,jk,Kbb) * pv(ji,jj,jk) - e1v(ji,jj-1)*e3v(ji,jj-1,jk,Kbb) * pv(ji,jj-1,jk)  ) 
     85            zdiv(ji,jj)     =   & 
     86               &   ahmt(ji,jj,jk) * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kbb)      & 
     87               &     * (  e2u(ji,jj)*e3u(ji,jj,jk,Kbb) * pu(ji,jj,jk)        & 
     88               &        - e2u(ji-1,jj)*e3u(ji-1,jj,jk,Kbb) * pu(ji-1,jj,jk)  & 
     89               &        + e1v(ji,jj)*e3v(ji,jj,jk,Kbb) * pv(ji,jj,jk)        & 
     90               &        - e1v(ji,jj-1)*e3v(ji,jj-1,jk,Kbb) * pv(ji,jj-1,jk)  ) 
    8691         END_2D 
    8792         ! 
    8893         DO_2D_00_00 
    89             pu_rhs(ji,jj,jk) = pu_rhs(ji,jj,jk) + zsign * (                                                 & 
    90                &              - ( zcur(ji  ,jj) - zcur(ji,jj-1) ) * r1_e2u(ji,jj) / e3u(ji,jj,jk,Kmm)   & 
    91                &              + ( zdiv(ji+1,jj) - zdiv(ji,jj  ) ) * r1_e1u(ji,jj)                     ) 
     94            pu_rhs(ji,jj,jk) = pu_rhs(ji,jj,jk) + zsign * (                             & 
     95               &              - ( zcur(ji  ,jj) - zcur(ji,jj-1) ) * r1_e2u(ji,jj)   & 
     96               &              / e3u(ji,jj,jk,Kmm)   & 
     97               &              + ( zdiv(ji+1,jj) - zdiv(ji,jj  ) ) * r1_e1u(ji,jj)        ) 
    9298               ! 
    93             pv_rhs(ji,jj,jk) = pv_rhs(ji,jj,jk) + zsign * (                                                 & 
    94                &                ( zcur(ji,jj  ) - zcur(ji-1,jj) ) * r1_e1v(ji,jj) / e3v(ji,jj,jk,Kmm)   & 
    95                &              + ( zdiv(ji,jj+1) - zdiv(ji  ,jj) ) * r1_e2v(ji,jj)                     ) 
     99            pv_rhs(ji,jj,jk) = pv_rhs(ji,jj,jk) + zsign * (                              & 
     100               &                ( zcur(ji,jj  ) - zcur(ji-1,jj) ) * r1_e1v(ji,jj)   & 
     101               &              / e3v(ji,jj,jk,Kmm)   & 
     102               &              + ( zdiv(ji,jj+1) - zdiv(ji  ,jj) ) * r1_e2v(ji,jj)       ) 
    96103         END_2D 
    97104         !                                             ! =============== 
     
    105112      !!---------------------------------------------------------------------- 
    106113      !!                 ***  ROUTINE dyn_ldf_blp  *** 
    107       !!                     
    108       !! ** Purpose :   Compute the before lateral momentum viscous trend  
     114      !! 
     115      !! ** Purpose :   Compute the before lateral momentum viscous trend 
    109116      !!              and add it to the general trend of momentum equation. 
    110117      !! 
Note: See TracChangeset for help on using the changeset viewer.