- Timestamp:
- 2010-11-13T14:08:12+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/nemo_v3_3_beta/NEMOGCM/NEMO/C1D_SRC/dynnxt_c1d.F90
r2287 r2382 11 11 !! 'key_c1d' 1D Configuration 12 12 !!---------------------------------------------------------------------- 13 !!----------------------------------------------------------------------14 13 !! dyn_nxt_c1d : update the horizontal velocity from the momentum trend 15 14 !!---------------------------------------------------------------------- … … 27 26 !! NEMO/C1D 3.3 , NEMO Consortium (2010) 28 27 !! $Id$ 29 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt)28 !! Software governed by the CeCILL licence (NEMOGCM/NEMO_CeCILL.txt) 30 29 !!---------------------------------------------------------------------- 31 32 30 CONTAINS 33 31 … … 36 34 !! *** ROUTINE dyn_nxt_c1d *** 37 35 !! 38 !! ** Purpose : Compute the after horizontal velocity from the 39 !! momentum trend. 36 !! ** Purpose : Compute the after horizontal velocity from the momentum trend. 40 37 !! 41 38 !! ** Method : Apply lateral boundary conditions on the trends (ua,va) … … 61 58 IF(lwp) WRITE(numout,*) 62 59 IF(lwp) WRITE(numout,*) 'dyn_nxt_c1d : time stepping on 1D configuation' 63 IF(lwp) WRITE(numout,*) '~~~~~~~ '60 IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 64 61 ENDIF 65 62 66 ! Local constant initialization 67 z2dt = 2. * rdt 63 z2dt = 2._wp * rdt ! Local constant initialization 68 64 IF( neuler == 0 .AND. kt == nit000 ) z2dt = rdt 69 65 70 ! Lateral boundary conditions on ( ua, va ) 71 CALL lbc_lnk( ua, 'U', -1. ) 72 CALL lbc_lnk( va, 'V', -1. ) 66 CALL lbc_lnk( ua, 'U', -1. ) ; CALL lbc_lnk( va, 'V', -1. ) ! Lateral boundary conditions 73 67 74 DO jk = 1, jpkm1 ! Next Velocity68 DO jk = 1, jpkm1 ! Next Velocity 75 69 ua(:,:,jk) = ( ub(:,:,jk) + z2dt * ua(:,:,jk) ) * umask(:,:,jk) 76 70 va(:,:,jk) = ( vb(:,:,jk) + z2dt * va(:,:,jk) ) * vmask(:,:,jk) 77 71 END DO 78 72 79 DO jk = 1, jpkm1 ! Time filter and swap of dynamics arrays80 IF( neuler == 0 .AND. kt == nit000 ) THEN ! Euler (forward) time stepping73 DO jk = 1, jpkm1 ! Time filter and swap of dynamics arrays 74 IF( neuler == 0 .AND. kt == nit000 ) THEN ! Euler (forward) time stepping 81 75 ub(:,:,jk) = un(:,:,jk) 82 76 vb(:,:,jk) = vn(:,:,jk) 83 77 un(:,:,jk) = ua(:,:,jk) 84 78 vn(:,:,jk) = va(:,:,jk) 85 ELSE ! Leap-frog time stepping79 ELSE ! Leap-frog time stepping 86 80 ub(:,:,jk) = atfp * ( ub(:,:,jk) + ua(:,:,jk) ) + atfp1 * un(:,:,jk) 87 81 vb(:,:,jk) = atfp * ( vb(:,:,jk) + va(:,:,jk) ) + atfp1 * vn(:,:,jk)
Note: See TracChangeset
for help on using the changeset viewer.