- Timestamp:
- 2016-04-20T11:33:10+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/dev_r5518_GO6_package/NEMOGCM/NEMO/OPA_SRC/step.F90
r6486 r6487 50 50 51 51 #if defined key_agrif 52 SUBROUTINE stp( )52 RECURSIVE SUBROUTINE stp( ) 53 53 INTEGER :: kstp ! ocean time-step index 54 54 #else … … 79 79 #if defined key_agrif 80 80 kstp = nit000 + Agrif_Nb_Step() 81 ! IF ( Agrif_Root() .and. lwp) Write(*,*) '---' 82 ! IF (lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp 81 IF ( lk_agrif_debug ) THEN 82 IF ( Agrif_Root() .and. lwp) Write(*,*) '---' 83 IF (lwp) Write(*,*) 'Grid Number',Agrif_Fixed(),' time step ',kstp, 'int tstep',Agrif_NbStepint() 84 ENDIF 85 83 86 IF ( kstp == (nit000 + 1) ) lk_agrif_fstep = .FALSE. 87 84 88 # if defined key_iomput 85 89 IF( Agrif_Nbstepint() == 0 ) CALL iom_swap( cxios_context ) … … 110 114 ! Update stochastic parameters and random T/S fluctuations 111 115 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 112 CALL sto_par( kstp ) ! Stochastic parameters 116 IF( ln_sto_eos ) CALL sto_par( kstp ) ! Stochastic parameters 117 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations 113 118 114 119 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 152 157 ! 153 158 IF( lk_ldfslp ) THEN ! slope of lateral mixing 154 IF(ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations155 159 CALL eos( tsb, rhd, gdept_0(:,:,:) ) ! before in situ density 156 160 IF( ln_zps .AND. .NOT. ln_isfcav) & … … 188 192 ! Note that the computation of vertical velocity above, hence "after" sea level 189 193 ! is necessary to compute momentum advection for the rhs of barotropic loop: 190 IF(ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations191 194 CALL eos ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation 192 195 IF( ln_zps .AND. .NOT. ln_isfcav) & … … 200 203 ua(:,:,:) = 0.e0 ! set dynamics trends to zero 201 204 va(:,:,:) = 0.e0 202 IF( l n_asmiau .AND. &205 IF( lk_asminc .AND. ln_asmiau .AND. & 203 206 & ln_dyninc ) CALL dyn_asm_inc ( kstp ) ! apply dynamics assimilation increment 204 207 IF( ln_neptsimp ) CALL dyn_nept_cor ( kstp ) ! subtract Neptune velocities (simplified) … … 248 251 tsa(:,:,:,:) = 0.e0 ! set tracer trends to zero 249 252 250 IF( l n_asmiau .AND. &253 IF( lk_asminc .AND. ln_asmiau .AND. & 251 254 & ln_trainc ) CALL tra_asm_inc( kstp ) ! apply tracer assimilation increment 252 255 CALL tra_sbc ( kstp ) ! surface boundary condition … … 270 273 IF( ln_zdfnpc ) CALL tra_npc( kstp ) ! update after fields by non-penetrative convection 271 274 CALL tra_nxt( kstp ) ! tracer fields at next time step 272 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations273 275 CALL eos ( tsa, rhd, rhop, fsdept_n(:,:,:) ) ! Time-filtered in situ density for hpg computation 274 276 IF( ln_zps .AND. .NOT. ln_isfcav) & … … 281 283 ELSE ! centered hpg (eos then time stepping) 282 284 IF ( .NOT. lk_dynspg_ts ) THEN ! eos already called in time-split case 283 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations284 285 CALL eos ( tsn, rhd, rhop, fsdept_n(:,:,:) ) ! now in situ density for hpg computation 285 286 IF( ln_zps .AND. .NOT. ln_isfcav) & … … 314 315 va(:,:,:) = 0.e0 315 316 316 IF( l n_asmiau .AND. &317 IF( lk_asminc .AND. ln_asmiau .AND. & 317 318 & ln_dyninc ) CALL dyn_asm_inc( kstp ) ! apply dynamics assimilation increment 318 319 IF( ln_bkgwri ) CALL asm_bkg_wri( kstp ) ! output background fields … … 335 336 CALL ssh_swp( kstp ) ! swap of sea surface height 336 337 IF( lk_vvl ) CALL dom_vvl_sf_swp( kstp ) ! swap of vertical scale factors 337 338 ! 339 IF( lrst_oce ) CALL rst_write( kstp ) ! write output ocean restart file 340 341 #if defined key_agrif 342 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 343 ! AGRIF 344 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 345 CALL Agrif_Integrate_ChildGrids( stp ) 346 347 IF ( Agrif_NbStepint().EQ.0 ) THEN 348 CALL Agrif_Update_Tra() ! Update active tracers 349 CALL Agrif_Update_Dyn() ! Update momentum 350 ENDIF 351 #endif 338 352 IF( ln_diahsb ) CALL dia_hsb( kstp ) ! - ML - global conservation diagnostics 339 353 IF( lk_diaobs ) CALL dia_obs( kstp ) ! obs-minus-model (assimilation) diagnostics (call after dynamics update) 340 354 341 355 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 342 ! Control and restarts356 ! Control 343 357 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 344 358 CALL stp_ctl( kstp, indic ) … … 352 366 IF( lwm.AND.numoni /= -1 ) CALL FLUSH ( numoni ) ! flush output namelist ice 353 367 ENDIF 354 IF( lrst_oce ) CALL rst_write ( kstp ) ! write output ocean restart file355 368 356 369 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 367 380 ! 368 381 IF( nn_timing == 1 .AND. kstp == nit000 ) CALL timing_reset 382 ! 369 383 ! 370 384 END SUBROUTINE stp
Note: See TracChangeset
for help on using the changeset viewer.