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 6060 for branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90 – NEMO

Ignore:
Timestamp:
2015-12-16T10:25:22+01:00 (8 years ago)
Author:
timgraham
Message:

Merged dev_r5836_noc2_VVL_BY_DEFAULT into branch

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90

    r5930 r6060  
    22   !!====================================================================== 
    33   !!                   ***  MODULE  dynspg_exp  *** 
    4    !! Ocean dynamics:  surface pressure gradient trend 
     4   !! Ocean dynamics:  surface pressure gradient trend, explicit scheme 
    55   !!====================================================================== 
    66   !! History :  2.0  !  2005-11  (V. Garnier, G. Madec, L. Bessieres) Original code 
    77   !!            3.2  !  2009-06  (G. Madec, M. Leclair, R. Benshila) introduce sshwzv module 
    88   !!---------------------------------------------------------------------- 
    9    !!---------------------------------------------------------------------- 
    10    !!                     explicit free surface 
     9 
    1110   !!---------------------------------------------------------------------- 
    1211   !!   dyn_spg_exp  : update the momentum trend with the surface  
     
    2625   USE timing          ! Timing 
    2726 
    28  
    2927   IMPLICIT NONE 
    3028   PRIVATE 
    3129 
    32    PUBLIC   dyn_spg_exp   ! routine called by dyn_spg  
     30   PUBLIC   dyn_spg_exp   ! routine called by dynspg.F90  
    3331 
    3432   !! * Substitutions 
    35 #  include "domzgr_substitute.h90" 
    3633#  include "vectopt_loop_substitute.h90" 
    3734   !!---------------------------------------------------------------------- 
     
    7370         spgu(:,:) = 0._wp   ;   spgv(:,:) = 0._wp 
    7471         ! 
    75          IF( lk_vvl .AND. lwp ) WRITE(numout,*) '              lk_vvl=T : spg is included in dynhpg' 
     72         IF( .NOT.ln_linssh .AND. lwp ) WRITE(numout,*) '      non linear free surface: spg is included in dynhpg' 
    7673      ENDIF 
    7774 
    78       IF( .NOT. lk_vvl ) THEN          !* fixed volume : add the surface pressure gradient trend 
     75      IF( ln_linssh ) THEN          !* linear free surface : add the surface pressure gradient trend 
    7976         ! 
    8077         DO jj = 2, jpjm1                    ! now surface pressure gradient 
    8178            DO ji = fs_2, fs_jpim1   ! vector opt. 
    82                spgu(ji,jj) = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) / e1u(ji,jj) 
    83                spgv(ji,jj) = - grav * ( sshn(ji,jj+1) - sshn(ji,jj) ) / e2v(ji,jj) 
     79               spgu(ji,jj) = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) * r1_e1u(ji,jj) 
     80               spgv(ji,jj) = - grav * ( sshn(ji,jj+1) - sshn(ji,jj) ) * r1_e2v(ji,jj) 
    8481            END DO  
    8582         END DO 
Note: See TracChangeset for help on using the changeset viewer.