Changeset 12747 for NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynnxt.F90
- Timestamp:
- 2020-04-15T13:57:58+02:00 (4 years ago)
- Location:
- NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo
- Property svn:externals
-
old new 6 6 ^/vendors/FCM@10134 ext/FCM 7 7 ^/vendors/IOIPSL@9655 ext/IOIPSL 8 ^/utils/CI/sette@12135 sette
-
- Property svn:externals
-
NEMO/branches/UKMO/NEMO_4.0.2_GO8_package_ENHANCE-02_ISF_nemo/src/OCE/DYN/dynnxt.F90
r12658 r12747 29 29 USE sbc_oce ! Surface boundary condition: ocean fields 30 30 USE sbcrnf ! river runoffs 31 USE sbcisf ! ice shelf32 31 USE phycst ! physical constants 33 32 USE dynadv ! dynamics: vector invariant versus flux form … … 35 34 USE domvvl ! variable volume 36 35 USE bdy_oce , ONLY: ln_bdy 36 USE isf_oce ! ice shelf 37 37 USE bdydta ! ocean open boundary conditions 38 38 USE bdydyn ! ocean open boundary conditions … … 98 98 REAL(wp) :: zue3a, zue3n, zue3b, zuf, zcoef ! local scalars 99 99 REAL(wp) :: zve3a, zve3n, zve3b, zvf, z1_2dt ! - - 100 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zue, zve 100 REAL(wp), ALLOCATABLE, DIMENSION(:,:) :: zue, zve, zfwf 101 101 REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) :: ze3u_f, ze3v_f, zua, zva 102 102 !!---------------------------------------------------------------------- 103 103 ! 104 104 IF( ln_timing ) CALL timing_start('dyn_nxt') 105 IF( ln_dynspg_ts ) ALLOCATE( zue(jpi,jpj) , zve(jpi,jpj) 105 IF( ln_dynspg_ts ) ALLOCATE( zue(jpi,jpj) , zve(jpi,jpj) , zfwf(jpi,jpj)) 106 106 IF( l_trddyn ) ALLOCATE( zua(jpi,jpj,jpk) , zva(jpi,jpj,jpk) ) 107 107 ! … … 237 237 ENDIF 238 238 239 IF ( ln_isf ) THEN 240 DO jk = 1, jpkm1 241 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_b(:,:) - fwfisf(:,:) ) * tmask(:,:,jk) & 242 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 243 END DO 244 ENDIF 239 IF ( ln_isf ) THEN 240 IF ( ln_isfpar_mlt ) THEN 241 DO jk = 1, jpkm1 242 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_cav_b(:,:) - fwfisf_cav(:,:) ) * tmask(:,:,jk) & 243 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 244 END DO 245 END IF 246 IF ( ln_isfpar_mlt ) THEN 247 DO jk = 1, jpkm1 248 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * ( fwfisf_par_b(:,:) - fwfisf_par(:,:) ) * tmask(:,:,jk) & 249 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 250 END DO 251 END IF 252 IF ( ln_isfcpl .AND. ln_rstart .AND. kt == nit000+1 ) THEN 253 ! risfcpl_vol in m3/s 254 zfwf(:,:) = SUM(risfcpl_vol,DIM=3) 255 DO jk = 1, jpkm1 256 e3t_b(:,:,jk) = e3t_b(:,:,jk) - zcoef * zfwf(:,:) * r1_e1e2t(:,:) * r1_rau0 * tmask(:,:,jk) & 257 & * e3t_n(:,:,jk) / ( ht_n(:,:) + 1._wp - ssmask(:,:) ) 258 END DO 259 END IF 260 END IF 245 261 ! 246 262 IF( ln_dynadv_vec ) THEN ! Asselin filter applied on velocity … … 357 373 & tab3d_2=vn, clinfo2=' Vn: ' , mask2=vmask ) 358 374 ! 359 IF( ln_dynspg_ts ) DEALLOCATE( zue, zve )375 IF( ln_dynspg_ts ) DEALLOCATE( zue, zve, zfwf ) 360 376 IF( l_trddyn ) DEALLOCATE( zua, zva ) 361 377 IF( ln_timing ) CALL timing_stop('dyn_nxt')
Note: See TracChangeset
for help on using the changeset viewer.