- Timestamp:
- 2016-07-19T10:38:35+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/NERC/dev_r5549_BDY_ZEROGRAD/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_exp.F90
r4990 r6808 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 #if defined key_dynspg_exp || defined key_esopa 10 !!---------------------------------------------------------------------- 11 !! 'key_dynspg_exp' explicit free surface 9 12 10 !!---------------------------------------------------------------------- 13 11 !! dyn_spg_exp : update the momentum trend with the surface … … 27 25 USE timing ! Timing 28 26 29 30 27 IMPLICIT NONE 31 28 PRIVATE 32 29 33 PUBLIC dyn_spg_exp ! routine called by step.F9030 PUBLIC dyn_spg_exp ! routine called by dynspg.F90 34 31 35 32 !! * Substitutions 36 # include "domzgr_substitute.h90"37 33 # include "vectopt_loop_substitute.h90" 38 34 !!---------------------------------------------------------------------- … … 74 70 spgu(:,:) = 0._wp ; spgv(:,:) = 0._wp 75 71 ! 76 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' 77 73 ENDIF 78 74 79 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 80 76 ! 81 77 DO jj = 2, jpjm1 ! now surface pressure gradient 82 78 DO ji = fs_2, fs_jpim1 ! vector opt. 83 spgu(ji,jj) = - grav * ( sshn(ji+1,jj) - sshn(ji,jj) ) /e1u(ji,jj)84 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) 85 81 END DO 86 82 END DO … … 101 97 END SUBROUTINE dyn_spg_exp 102 98 103 #else104 !!----------------------------------------------------------------------105 !! Default case : Empty module No standart explicit free surface106 !!----------------------------------------------------------------------107 CONTAINS108 SUBROUTINE dyn_spg_exp( kt ) ! Empty routine109 WRITE(*,*) 'dyn_spg_exp: You should not have seen this print! error?', kt110 END SUBROUTINE dyn_spg_exp111 #endif112 113 99 !!====================================================================== 114 100 END MODULE dynspg_exp
Note: See TracChangeset
for help on using the changeset viewer.