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 6140 for trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap_blp.F90 – NEMO

Ignore:
Timestamp:
2015-12-21T12:35:23+01:00 (8 years ago)
Author:
timgraham
Message:

Merge of branches/2015/dev_merge_2015 back into trunk. Merge excludes NEMOGCM/TOOLS/OBSTOOLS/ for now due to issues with the change of file type. Will sort these manually with further commits.

Branch merged as follows:
In the working copy of branch ran:
svn merge svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk@HEAD
Small conflicts due to bug fixes applied to trunk since the dev_merge_2015 was copied. Bug fixes were applied to the branch as well so these were easy to resolve.
Branch committed at this stage

In working copy run:
svn switch svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/trunk
to switch working copy

Run:
svn merge --reintegrate svn+ssh://forge.ipsl.jussieu.fr/ipsl/forge/projets/nemo/svn/branches/2015/dev_merge_2015
to merge the branch into the trunk and then commit - no conflicts at this stage.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMOGCM/NEMO/OPA_SRC/DYN/dynldf_lap_blp.F90

    r5861 r6140  
    44   !! Ocean dynamics:  lateral viscosity trend (laplacian and bilaplacian) 
    55   !!====================================================================== 
    6    !! History :  OPA  ! 1990-09 (G. Madec) Original code 
    7    !!            4.0  ! 1991-11 (G. Madec) 
    8    !!            6.0  ! 1996-01 (G. Madec) statement function for e3 and ahm 
    9    !!   NEMO     1.0  ! 2002-06 (G. Madec)  F90: Free form and module 
    10    !!             -   ! 2004-08 (C. Talandier) New trends organization 
    11    !!            3.7  ! 2014-01  (F. Lemarie, G. Madec)  restructuration/simplification of ahm specification, 
    12    !!                 !                                  add velocity dependent coefficient and optional read in file 
     6   !! History : 3.7  ! 2014-01  (G. Madec, S. Masson)  Original code, re-entrant laplacian 
    137   !!---------------------------------------------------------------------- 
    148 
     
    3529 
    3630   !! * Substitutions 
    37 #  include "domzgr_substitute.h90" 
    3831#  include "vectopt_loop_substitute.h90" 
    3932   !!---------------------------------------------------------------------- 
     
    8780            DO ji = fs_2, jpi   ! vector opt. 
    8881               !                                      ! ahm * e3 * curl  (computed from 1 to jpim1/jpjm1) 
    89 !!gm open question here : fse3f  at before or now ?    probably now... 
     82!!gm open question here : e3f  at before or now ?    probably now... 
    9083!!gm note that ahmf has already been multiplied by fmask 
    91                zcur(ji-1,jj-1) = ahmf(ji-1,jj-1,jk) * fse3f(ji-1,jj-1,jk) * r1_e1e2f(ji-1,jj-1)       & 
     84               zcur(ji-1,jj-1) = ahmf(ji-1,jj-1,jk) * e3f_n(ji-1,jj-1,jk) * r1_e1e2f(ji-1,jj-1)       & 
    9285                  &     * (  e2v(ji  ,jj-1) * pvb(ji  ,jj-1,jk) - e2v(ji-1,jj-1) * pvb(ji-1,jj-1,jk)  & 
    93                   &        - e1u(ji-1,jj  ) * pub(ji-1,jj  ,jk) + e1u(ji-1,jj-1) * pub(ji-1,jj-1,jk)  )  
     86                  &        - e1u(ji-1,jj  ) * pub(ji-1,jj  ,jk) + e1u(ji-1,jj-1) * pub(ji-1,jj-1,jk)  ) 
    9487               !                                      ! ahm * div        (computed from 2 to jpi/jpj) 
    95                zdiv(ji,jj)     = ahmt(ji,jj,jk) * r1_e1e2t(ji,jj) / fse3t_b(ji,jj,jk) * tmask(ji,jj,jk)                           & 
    96                   &     * (  e2u(ji,jj)*fse3u_b(ji,jj,jk) * pub(ji,jj,jk) - e2u(ji-1,jj)*fse3u_b(ji-1,jj,jk) * pub(ji-1,jj,jk)  & 
    97                   &        + e1v(ji,jj)*fse3v_b(ji,jj,jk) * pvb(ji,jj,jk) - e1v(ji,jj-1)*fse3v_b(ji,jj-1,jk) * pvb(ji,jj-1,jk)  ) 
     88!!gm note that ahmt has already been multiplied by tmask 
     89               zdiv(ji,jj)     = ahmt(ji,jj,jk) * r1_e1e2t(ji,jj) / e3t_b(ji,jj,jk)                                         & 
     90                  &     * (  e2u(ji,jj)*e3u_b(ji,jj,jk) * pub(ji,jj,jk) - e2u(ji-1,jj)*e3u_b(ji-1,jj,jk) * pub(ji-1,jj,jk)  & 
     91                  &        + e1v(ji,jj)*e3v_b(ji,jj,jk) * pvb(ji,jj,jk) - e1v(ji,jj-1)*e3v_b(ji,jj-1,jk) * pvb(ji,jj-1,jk)  ) 
    9892            END DO   
    9993         END DO   
     
    10195         DO jj = 2, jpjm1                             ! - curl( curl) + grad( div ) 
    10296            DO ji = fs_2, fs_jpim1   ! vector opt. 
    103                pua(ji,jj,jk) = pua(ji,jj,jk) + zsign * (                                                   & 
    104                   &              - ( zcur(ji  ,jj) - zcur(ji,jj-1) ) /  ( e2u(ji,jj) * fse3u(ji,jj,jk) )   & 
     97               pua(ji,jj,jk) = pua(ji,jj,jk) + zsign * (                                                 & 
     98                  &              - ( zcur(ji  ,jj) - zcur(ji,jj-1) ) * r1_e2u(ji,jj) / e3u_n(ji,jj,jk)   & 
    10599                  &              + ( zdiv(ji+1,jj) - zdiv(ji,jj  ) ) * r1_e1u(ji,jj)                     ) 
    106100                  ! 
    107                pva(ji,jj,jk) = pva(ji,jj,jk) + zsign * (                                                   & 
    108                   &                ( zcur(ji,jj  ) - zcur(ji-1,jj) ) /  ( e1v(ji,jj) * fse3v(ji,jj,jk) )   & 
     101               pva(ji,jj,jk) = pva(ji,jj,jk) + zsign * (                                                 & 
     102                  &                ( zcur(ji,jj  ) - zcur(ji-1,jj) ) * r1_e1v(ji,jj) / e3v_n(ji,jj,jk)   & 
    109103                  &              + ( zdiv(ji,jj+1) - zdiv(ji  ,jj) ) * r1_e2v(ji,jj)                     ) 
    110104            END DO 
Note: See TracChangeset for help on using the changeset viewer.