Changeset 14200 for NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/stpmlf.F90
- Timestamp:
- 2020-12-17T15:36:44+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r14116_HPC-04_mcastril_Mixed_Precision_implementation_final/src/OCE/stpmlf.F90
r14053 r14200 36 36 !!---------------------------------------------------------------------- 37 37 38 #if defined key_qco 39 !!---------------------------------------------------------------------- 40 !! 'key_qco' Quasi-Eulerian vertical coordonate 41 !!---------------------------------------------------------------------- 42 43 !!---------------------------------------------------------------------- 44 !! stp_MLF : NEMO modified Leap Frog time-stepping with qco 38 #if defined key_qco || defined key_linssh 39 !!---------------------------------------------------------------------- 40 !! 'key_qco' Quasi-Eulerian vertical coordinate 41 !! OR 42 !! 'key_linssh Fixed in time vertical coordinate 43 !!---------------------------------------------------------------------- 44 45 !!---------------------------------------------------------------------- 46 !! stp_MLF : NEMO modified Leap Frog time-stepping with qco or linssh 45 47 !!---------------------------------------------------------------------- 46 48 USE step_oce ! time stepping definition modules … … 196 198 END DO 197 199 CALL ssh_nxt ( kstp, Nbb, Nnn, ssh, Naa ) ! after ssh (includes call to div_hor) 198 IF( .NOT.l n_linssh ) THEN200 IF( .NOT.lk_linssh ) THEN 199 201 CALL dom_qco_r3c( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa) ) ! "after" ssh/h_0 ratio at t,u,v pts 200 202 IF( ln_dynspg_exp ) CALL dom_qco_r3c( ssh(:,:,Nnn), r3t(:,:,Nnn), r3u(:,:,Nnn), r3v(:,:,Nnn), r3f(:,:) ) ! spg_exp : needed only for "now" ssh/h_0 ratio at f point … … 225 227 IF( ln_dynspg_ts ) THEN ! vertical scale factors and vertical velocity need to be updated 226 228 CALL div_hor ( kstp, Nbb, Nnn ) ! Horizontal divergence (2nd call in time-split case) 227 IF(.NOT.l n_linssh) CALL dom_qco_r3c ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) ) ! update ssh/h_0 ratio at t,u,v,f pts229 IF(.NOT.lk_linssh) CALL dom_qco_r3c ( ssh(:,:,Naa), r3t(:,:,Naa), r3u(:,:,Naa), r3v(:,:,Naa), r3f(:,:) ) ! update ssh/h_0 ratio at t,u,v,f pts 228 230 ENDIF 229 231 CALL dyn_zdf ( kstp, Nbb, Nnn, Nrhs, uu, vv, Naa ) ! vertical diffusion … … 257 259 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 258 260 CALL ssh_atf ( kstp, Nbb, Nnn, Naa, ssh ) ! time filtering of "now" sea surface height 259 261 IF(.NOT.lk_linssh) CALL dom_qco_r3c( ssh(:,:,Nnn), r3t_f, r3u_f, r3v_f ) ! "now" ssh/h_0 ratio from filtrered ssh 260 262 #if defined key_top 261 263 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 311 313 CALL finalize_lbc ( kstp, Nbb , Naa, uu, vv, ts ) ! boundary conditions 312 314 CALL tra_atf_qco ( kstp, Nbb, Nnn, Naa , ts ) ! time filtering of "now" tracer arrays 313 CALL dyn_atf_qco ( kstp, Nbb, Nnn, Naa, uu, vv ) ! time filtering of "now" velocities 315 CALL dyn_atf_qco ( kstp, Nbb, Nnn, Naa, uu, vv ) ! time filtering of "now" velocities 316 IF(.NOT.lk_linssh) THEN 314 317 r3t(:,:,Nnn) = r3t_f(:,:) ! update now ssh/h_0 with time filtered values 315 318 r3u(:,:,Nnn) = r3u_f(:,:) 316 319 r3v(:,:,Nnn) = r3v_f(:,:) 320 ENDIF 317 321 318 322 ! … … 367 371 IF( kstp == nitend .OR. indic < 0 ) THEN 368 372 CALL iom_context_finalize( cxios_context ) ! needed for XIOS+AGRIF 369 IF( lrxios ) CALL iom_context_finalize( crxios_context )370 373 IF( ln_crs ) CALL iom_context_finalize( trim(cxios_context)//"_crs" ) ! 371 374 ENDIF
Note: See TracChangeset
for help on using the changeset viewer.