Changeset 503 for trunk/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
- Timestamp:
- 2006-09-27T10:52:29+02:00 (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/DYN/dynzdf_exp.F90
r455 r503 4 4 !! Ocean dynamics: vertical component(s) of the momentum mixing trend 5 5 !!============================================================================== 6 !! History : ! 90-10 (B. Blanke) Original code 7 !! ! 97-05 (G. Madec) vertical component of isopycnal 8 !! 8.5 ! 02-08 (G. Madec) F90: Free form and module 9 !!---------------------------------------------------------------------- 6 10 7 11 !!---------------------------------------------------------------------- … … 16 20 USE in_out_manager ! I/O manager 17 21 USE taumod ! surface ocean stress 18 USE prtctl ! Print control19 22 20 23 IMPLICIT NONE … … 30 33 !! OPA 9.0 , LOCEAN-IPSL (2005) 31 34 !! $Header$ 32 !! This software is governed by the CeCILL licence see modipsl/doc/NEMO_CeCILL.txt35 !! Software governed by the CeCILL licence (modipsl/doc/NEMO_CeCILL.txt) 33 36 !!---------------------------------------------------------------------- 34 37 35 38 CONTAINS 36 39 37 SUBROUTINE dyn_zdf_exp( kt )40 SUBROUTINE dyn_zdf_exp( kt, p2dt ) 38 41 !!---------------------------------------------------------------------- 39 42 !! *** ROUTINE dyn_zdf_exp *** … … 50 53 !! 51 54 !! ** Action : - Update (ua,va) with the vertical diffusive trend 52 !! - Save the trends in (ztdua,ztdva) ('key_trddyn')53 !!54 !! History :55 !! ! 90-10 (B. Blanke) Original code56 !! ! 97-05 (G. Madec) vertical component of isopycnal57 !! 8.5 ! 02-08 (G. Madec) F90: Free form and module58 !! 9.0 ! 04-08 (C. Talandier) New trends organization59 55 !!--------------------------------------------------------------------- 60 !! * Modules used61 USE oce, ONLY : ztdua => ta, & ! use ta as 3D workspace62 ztdva => sa ! use sa as 3D workspace63 56 !! * Arguments 64 INTEGER, INTENT( in ) :: kt ! ocean time-step index 57 INTEGER , INTENT( in ) :: kt ! ocean time-step index 58 REAL(wp), INTENT( in ) :: p2dt ! time-step 65 59 66 60 !! * Local declarations 67 INTEGER :: & 68 ji, jj, jk, jl ! dummy loop indices 69 REAL(wp) :: & 70 zrau0r, zlavmr, z2dt, zua, zva ! temporary scalars 71 REAL(wp), DIMENSION(jpi,jpk) :: & 72 zwx, zwy, zwz, zww ! temporary workspace arrays 61 INTEGER :: ji, jj, jk, jl ! dummy loop indices 62 REAL(wp) :: zrau0r, zlavmr, zua, zva ! temporary scalars 63 REAL(wp), DIMENSION(jpi,jpk) :: zwx, zwy, zwz, zww ! temporary workspace arrays 73 64 !!---------------------------------------------------------------------- 74 65 … … 83 74 zrau0r = 1. / rau0 ! inverse of the reference density 84 75 zlavmr = 1. / float( n_zdfexp ) ! inverse of the number of sub time step 85 z2dt = 2. * rdt ! Leap-frog environnement86 87 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt ! Euler time stepping when starting from rest88 76 89 77 ! ! =============== … … 124 112 va(ji,jj,jk) = va(ji,jj,jk) + zva 125 113 126 zwx(ji,jk) = zwx(ji,jk) + z2dt*zua*umask(ji,jj,jk)127 zwz(ji,jk) = zwz(ji,jk) + z2dt*zva*vmask(ji,jj,jk)114 zwx(ji,jk) = zwx(ji,jk) + p2dt*zua*umask(ji,jj,jk) 115 zwz(ji,jk) = zwz(ji,jk) + p2dt*zva*vmask(ji,jj,jk) 128 116 END DO 129 117 END DO
Note: See TracChangeset
for help on using the changeset viewer.