- Timestamp:
- 2020-04-03T18:54:55+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN/dynatf.F90
r12581 r12680 58 58 59 59 PUBLIC dyn_atf ! routine called by step.F90 60 61 #if defined key_qco 62 !!---------------------------------------------------------------------- 63 !! 'key_qco' EMPTY ROUTINE Quasi-Eulerian vertical coordonate 64 !!---------------------------------------------------------------------- 65 CONTAINS 66 67 SUBROUTINE dyn_atf ( kt, Kbb, Kmm, Kaa, puu, pvv, pe3t, pe3u, pe3v ) 68 INTEGER , INTENT(in ) :: kt ! ocean time-step index 69 INTEGER , INTENT(in ) :: Kbb, Kmm, Kaa ! before and after time level indices 70 REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: puu, pvv ! velocities to be time filtered 71 REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) :: pe3t, pe3u, pe3v ! scale factors to be time filtered 72 73 WRITE(*,*) 'dyn_atf: You should not have seen this print! error?', kt 74 END SUBROUTINE dyn_atf 75 76 #else 60 77 61 78 !! * Substitutions … … 314 331 END SUBROUTINE dyn_atf 315 332 333 #endif 334 316 335 !!========================================================================= 317 336 END MODULE dynatf -
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/OCE/DYN/sshwzv.F90
r12622 r12680 114 114 ! 115 115 #if defined key_agrif 116 Kbb_a = Kbb; Kmm_a = Kmm; Krhs_a = Kaa; CALL agrif_ssh( kt ) 116 Kbb_a = Kbb ; Kmm_a = Kmm ; Krhs_a = Kaa 117 CALL agrif_ssh( kt ) 117 118 #endif 118 119 ! … … 134 135 135 136 136 SUBROUTINE wzv( kt, Kbb, Kmm, pww, Kaa)137 SUBROUTINE wzv( kt, Kbb, Kmm, Kaa, pww ) 137 138 !!---------------------------------------------------------------------- 138 139 !! *** ROUTINE wzv *** … … 151 152 INTEGER , INTENT(in) :: kt ! time step 152 153 INTEGER , INTENT(in) :: Kbb, Kmm, Kaa ! time level indices 153 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pww ! now vertical velocity154 REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pww ! vertical velocity at Kmm 154 155 ! 155 156 INTEGER :: ji, jj, jk ! dummy loop indices … … 165 166 IF(lwp) WRITE(numout,*) '~~~~~ ' 166 167 ! 167 pww(:,:,jpk) = 0._wp ! bottom boundary condition: w=0 (set once for all) 168 ENDIF 169 ! !------------------------------! 170 ! ! Now Vertical Velocity ! 171 ! !------------------------------! 172 z1_2dt = 1. / ( 2. * rdt ) ! set time step size (Euler/Leapfrog) 168 pww(:,:,jpk) = 0._wp ! bottom boundary condition: w=0 (set once for all) 169 ENDIF 170 ! 171 z1_2dt = 1. / ( 2. * rdt ) ! set time step size (Euler/Leapfrog) 173 172 IF( neuler == 0 .AND. kt == nit000 ) z1_2dt = 1. / rdt 174 173 ! 175 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN ! z_tilde and layer cases 174 ! !===============================! 175 IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN !== z_tilde and layer cases ==! 176 ! !===============================! 176 177 ALLOCATE( zhdiv(jpi,jpj,jpk) ) 177 178 ! … … 188 189 DO jk = jpkm1, 1, -1 ! integrate from the bottom the hor. divergence 189 190 ! computation of w 190 pww(:,:,jk) = pww(:,:,jk+1) - ( e3t(:,:,jk,Kmm) * hdiv(:,:,jk)&191 & + zhdiv(:,:,jk)&192 & + z1_2dt * ( e3t(:,:,jk,Kaa)&193 & - e3t(:,:,jk,Kbb) )) * tmask(:,:,jk)191 pww(:,:,jk) = pww(:,:,jk+1) - ( e3t(:,:,jk,Kmm) * hdiv(:,:,jk) & 192 & + zhdiv(:,:,jk) & 193 & + z1_2dt * ( e3t(:,:,jk,Kaa) & 194 & - e3t(:,:,jk,Kbb) ) ) * tmask(:,:,jk) 194 195 END DO 195 196 ! IF( ln_vvl_layer ) pww(:,:,:) = 0.e0 196 197 DEALLOCATE( zhdiv ) 197 ELSE ! z_star and linear free surface cases 198 DO jk = jpkm1, 1, -1 ! integrate from the bottom the hor. divergence 199 ! computation of w 198 ! !=================================! 199 ELSEIF( ln_linssh ) THEN !== linear free surface cases ==! 200 ! !=================================! 201 DO jk = jpkm1, 1, -1 ! integrate from the bottom the hor. divergence 202 pww(:,:,jk) = pww(:,:,jk+1) - ( e3t(:,:,jk,Kmm) * hdiv(:,:,jk) ) * tmask(:,:,jk) 203 END DO 204 ! !==========================================! 205 ELSE !== Quasi-Eulerian vertical coordinate ==! ('key_qco') 206 ! !==========================================! 207 DO jk = jpkm1, 1, -1 ! integrate from the bottom the hor. divergence 200 208 pww(:,:,jk) = pww(:,:,jk+1) - ( e3t(:,:,jk,Kmm) * hdiv(:,:,jk) & 201 209 & + z1_2dt * ( e3t(:,:,jk,Kaa) &
Note: See TracChangeset
for help on using the changeset viewer.