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 4616 for branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90 – NEMO

Ignore:
Timestamp:
2014-04-06T17:28:25+02:00 (10 years ago)
Author:
gm
Message:

#1260 : see the associated wiki page for explanation

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2014/dev_CNRS0_NOC1_LDF/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_bilapg.F90

    r4596 r4616  
    161161      !!      ===========  pu as follows (idem on pv) 
    162162      !!      vertical fluxes : 
    163       !!         zftw = e1t*e2t/e3w * (ahm*wslpi^2+ahm*wslpj^2)  dk-1[ pu ] 
    164       !!              -     e2t     *  ahm*wslpi                di[ mi(mk(pu)) ] 
    165       !!              -     e1t     *  ahm*wslpj                dj[ mj(mk(pu)) ] 
     163      !!         zftw = e1e2t/e3w * (ahm*wslpi^2+ahm*wslpj^2)  dk-1[ pu ] 
     164      !!              -   e2t     *  ahm*wslpi                di[ mi(mk(pu)) ] 
     165      !!              -   e1t     *  ahm*wslpj                dj[ mj(mk(pu)) ] 
    166166      !!      take the vertical divergence of the fluxes add it to the hori- 
    167167      !!      zontal component, divide the result by the volume element : 
    168       !!         plu  =  zsign / (e1t*e2t*e3t) { plu + dk[ zftw ] } 
     168      !!         plu  =  zsign / (e1e2t*e3t) { plu + dk[ zftw ] } 
    169169      !!      where  zsign=+1  if kahm =1 (laplacian or 1st pass of bilaplacian) 
    170170      !!                  =-1  if kahm =2 (2nd pass in case of bilaplacian) 
     
    369369               zuwslpj = 0.5 * ( wslpj(ji+1,jj,jk) + wslpj(ji,jj,jk) ) 
    370370               ! coef. for the vertical dirative 
    371                zcoef0 = e1u(ji,jj) * e2u(ji,jj) / fse3u(ji,jj,jk)   & 
     371               zcoef0 = e1e2u(ji,jj) / fse3u(ji,jj,jk)   & 
    372372                  &   * ( zuwslpi * zuwslpi + zuwslpj * zuwslpj ) 
    373373               ! weights for the i-k, j-k averaging at t- and f-points, resp. 
     
    403403               zvwslpj = 0.5 * ( wslpj(ji,jj+1,jk) + wslpj(ji,jj,jk) ) 
    404404               ! coef. for the vertical derivative 
    405                zcoef0 = e1v(ji,jj) * e2v(ji,jj) / fse3v(ji,jj,jk)   & 
     405               zcoef0 = e1e2v(ji,jj) / fse3v(ji,jj,jk)   & 
    406406                  &   * ( zvwslpi * zvwslpi + zvwslpj * zvwslpj ) 
    407407!!gm caution here fmask multiplication already done in the def of ahmf... 
     
    439439               zvav = zfvw(ji,jk) - zfvw(ji,jk+1) 
    440440               ! harmonic operator applied to (pu,pv) and multiply by ahm 
    441                plu(ji,jj,jk) = zsign * ( plu(ji,jj,jk) + zuav ) / ( e1u(ji,jj)*e2u(ji,jj)*fse3u(ji,jj,jk) ) 
    442                plv(ji,jj,jk) = zsign * ( plv(ji,jj,jk) + zvav ) / ( e1v(ji,jj)*e2v(ji,jj)*fse3v(ji,jj,jk) ) 
     441               plu(ji,jj,jk) = zsign * ( plu(ji,jj,jk) + zuav ) / ( e1e2u(ji,jj)*fse3u(ji,jj,jk) ) 
     442               plv(ji,jj,jk) = zsign * ( plv(ji,jj,jk) + zvav ) / ( e1e2v(ji,jj)*fse3v(ji,jj,jk) ) 
    443443            END DO 
    444444         END DO 
Note: See TracChangeset for help on using the changeset viewer.