- Timestamp:
- 2016-11-28T17:04:10+01:00 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2016/dev_INGV_UKMO_2016/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90
r5930 r7351 2 2 !!====================================================================== 3 3 !! *** MODULE dynspg_exp *** 4 !! Ocean dynamics: surface pressure gradient trend 4 !! Ocean dynamics: surface pressure gradient trend, explicit scheme 5 5 !!====================================================================== 6 6 !! History : 2.0 ! 2005-11 (V. Garnier, G. Madec, L. Bessieres) Original code 7 7 !! 3.2 ! 2009-06 (G. Madec, M. Leclair, R. Benshila) introduce sshwzv module 8 8 !!---------------------------------------------------------------------- 9 !!---------------------------------------------------------------------- 10 !! explicit free surface 9 11 10 !!---------------------------------------------------------------------- 12 11 !! dyn_spg_exp : update the momentum trend with the surface … … 26 25 USE timing ! Timing 27 26 28 29 27 IMPLICIT NONE 30 28 PRIVATE 31 29 32 PUBLIC dyn_spg_exp ! routine called by dyn _spg30 PUBLIC dyn_spg_exp ! routine called by dynspg.F90 33 31 34 32 !! * Substitutions 35 # include "domzgr_substitute.h90"36 33 # include "vectopt_loop_substitute.h90" 37 34 !!---------------------------------------------------------------------- … … 73 70 spgu(:,:) = 0._wp ; spgv(:,:) = 0._wp 74 71 ! 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' 76 73 ENDIF 77 74 78 IF( .NOT. lk_vvl ) THEN !* fixed volume : add the surface pressure gradient trend75 IF( ln_linssh ) THEN !* linear free surface : add the surface pressure gradient trend 79 76 ! 80 77 DO jj = 2, jpjm1 ! now surface pressure gradient 81 78 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) 84 81 END DO 85 82 END DO
Note: See TracChangeset
for help on using the changeset viewer.