Changeset 13521 for NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src
- Timestamp:
- 2020-09-24T20:52:03+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r13383_HPC-02_Daley_Tiling/src/OCE/step.F90
r13237 r13521 55 55 INTEGER, PUBLIC :: Nbb, Nnn, Naa, Nrhs !! used by nemo_init 56 56 57 !! * Substitutions 58 # include "do_loop_substitute.h90" 57 59 !!---------------------------------------------------------------------- 58 60 !! NEMO/OCE 4.0 , NEMO Consortium (2018) … … 85 87 !! -8- Outputs and diagnostics 86 88 !!---------------------------------------------------------------------- 87 INTEGER :: ji, jj, jk ! dummy loop indice89 INTEGER :: ji, jj, jk, jtile ! dummy loop indice 88 90 !!gm kcall can be removed, I guess 89 91 INTEGER :: kcall ! optional integer argument (dom_vvl_sf_nxt) … … 246 248 ! Active tracers 247 249 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 248 ts(:,:,:,:,Nrhs) = 0._wp ! set tracer trends to zero 249 250 IF( lk_asminc .AND. ln_asmiau .AND. & 251 & ln_trainc ) CALL tra_asm_inc( kstp, Nbb, Nnn, ts, Nrhs ) ! apply tracer assimilation increment 252 CALL tra_sbc ( kstp, Nnn, ts, Nrhs ) ! surface boundary condition 253 IF( ln_traqsr ) CALL tra_qsr ( kstp, Nnn, ts, Nrhs ) ! penetrative solar radiation qsr 254 IF( ln_isf ) CALL tra_isf ( kstp, Nnn, ts, Nrhs ) ! ice shelf heat flux 255 IF( ln_trabbc ) CALL tra_bbc ( kstp, Nnn, ts, Nrhs ) ! bottom heat flux 256 IF( ln_trabbl ) CALL tra_bbl ( kstp, Nbb, Nnn, ts, Nrhs ) ! advective (and/or diffusive) bottom boundary layer scheme 257 IF( ln_tradmp ) CALL tra_dmp ( kstp, Nbb, Nnn, ts, Nrhs ) ! internal damping trends 258 IF( ln_bdy ) CALL bdy_tra_dmp( kstp, Nbb, ts, Nrhs ) ! bdy damping trends 259 #if defined key_agrif 260 IF(.NOT. Agrif_Root()) & 261 & CALL Agrif_Sponge_tra ! tracers sponge 262 #endif 263 CALL tra_adv ( kstp, Nbb, Nnn, ts, Nrhs ) ! hor. + vert. advection ==> RHS 264 IF( ln_zdfosm ) CALL tra_osm ( kstp, Nnn, ts, Nrhs ) ! OSMOSIS non-local tracer fluxes ==> RHS 265 IF( lrst_oce .AND. ln_zdfosm ) & 266 & CALL osm_rst ( kstp, Nnn, 'WRITE' ) ! write OSMOSIS outputs + ww (so must do here) to restarts 267 CALL tra_ldf ( kstp, Nbb, Nnn, ts, Nrhs ) ! lateral mixing 268 269 CALL tra_zdf ( kstp, Nbb, Nnn, Nrhs, ts, Naa ) ! vertical mixing and after tracer fields 270 IF( ln_zdfnpc ) CALL tra_npc ( kstp, Nnn, Nrhs, ts, Naa ) ! update after fields by non-penetrative convection 271 250 ! Loop over tile domains 251 DO jtile = 1, nijtile 252 IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = jtile ) 253 254 DO_3D( 0, 0, 0, 0, 1, jpk ) 255 ts(ji,jj,jk,:,Nrhs) = 0._wp ! set tracer trends to zero 256 END_3D 257 258 IF( lk_asminc .AND. ln_asmiau .AND. & 259 & ln_trainc ) CALL tra_asm_inc( kstp, Nbb, Nnn, ts, Nrhs ) ! apply tracer assimilation increment 260 CALL tra_sbc ( kstp, Nnn, ts, Nrhs ) ! surface boundary condition 261 IF( ln_traqsr ) CALL tra_qsr ( kstp, Nnn, ts, Nrhs ) ! penetrative solar radiation qsr 262 IF( ln_isf ) CALL tra_isf ( kstp, Nnn, ts, Nrhs ) ! ice shelf heat flux 263 IF( ln_trabbc ) CALL tra_bbc ( kstp, Nnn, ts, Nrhs ) ! bottom heat flux 264 IF( ln_trabbl ) CALL tra_bbl ( kstp, Nbb, Nnn, ts, Nrhs ) ! advective (and/or diffusive) bottom boundary layer scheme 265 IF( ln_tradmp ) CALL tra_dmp ( kstp, Nbb, Nnn, ts, Nrhs ) ! internal damping trends 266 IF( ln_bdy ) CALL bdy_tra_dmp( kstp, Nbb, ts, Nrhs ) ! bdy damping trends 267 #if defined key_agrif 268 ! TODO: TO BE TILED- I don't know what this does, or whether it can just be run for ntile == nijtile 269 IF(.NOT. Agrif_Root()) & 270 & CALL Agrif_Sponge_tra ! tracers sponge 271 #endif 272 END DO 273 274 ! TEMP: Loop over tile domains (seperate due to tra_adv workarounds for tiling) 275 DO jtile = 1, nijtile 276 IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = jtile ) 277 278 CALL tra_adv ( kstp, Nbb, Nnn, ts, Nrhs ) ! hor. + vert. advection ==> RHS 279 IF( ln_zdfosm ) CALL tra_osm ( kstp, Nnn, ts, Nrhs ) ! OSMOSIS non-local tracer fluxes ==> RHS 280 IF( lrst_oce .AND. ln_zdfosm ) & 281 & CALL osm_rst ( kstp, Nnn, 'WRITE' ) ! write OSMOSIS outputs + ww (so must do here) to restarts 282 CALL tra_ldf ( kstp, Nbb, Nnn, ts, Nrhs ) ! lateral mixing 283 284 CALL tra_zdf ( kstp, Nbb, Nnn, Nrhs, ts, Naa ) ! vertical mixing and after tracer fields 285 IF( ln_zdfnpc ) CALL tra_npc ( kstp, Nnn, Nrhs, ts, Naa ) ! update after fields by non-penetrative convection 286 END DO 287 288 IF( ln_tile ) CALL dom_tile( ntsi, ntsj, ntei, ntej, ktile = 0 ) ! Revert to tile over full domain 272 289 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 273 290 ! Set boundary conditions, time filter and swap time levels
Note: See TracChangeset
for help on using the changeset viewer.