- Timestamp:
- 2015-12-16T10:25:22+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_merge_2015/NEMOGCM/NEMO/OPA_SRC/step.F90
r5930 r6060 2 2 !!====================================================================== 3 3 !! *** MODULE step *** 4 !! Time-stepping 4 !! Time-stepping : manager of the ocean, tracer and ice time stepping 5 5 !!====================================================================== 6 6 !! History : OPA ! 1991-03 (G. Madec) Original code … … 35 35 !!---------------------------------------------------------------------- 36 36 USE step_oce ! time stepping definition modules 37 USE iom 37 ! 38 USE iom ! xIOs server 38 39 39 40 IMPLICIT NONE … … 42 43 PUBLIC stp ! called by nemogcm.F90 43 44 44 !! * Substitutions45 # include "domzgr_substitute.h90"46 !!gm # include "zdfddm_substitute.h90"47 45 !!---------------------------------------------------------------------- 48 46 !! NEMO/OPA 3.7 , NEMO Consortium (2015) … … 183 181 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 184 182 185 CALL ssh_nxt ( kstp ) ! after ssh (includes call to div_hor)186 IF( lk_vvl) CALL dom_vvl_sf_nxt( kstp ) ! after vertical scale factors187 CALL wzv ( kstp ) ! now cross-level velocity183 CALL ssh_nxt ( kstp ) ! after ssh (includes call to div_hor) 184 IF(.NOT.ln_linssh ) CALL dom_vvl_sf_nxt( kstp ) ! after vertical scale factors 185 CALL wzv ( kstp ) ! now cross-level velocity 188 186 189 187 !!gm : why also here ???? 190 IF( ln_sto_eos) CALL sto_pts( tsn ) ! Random T/S fluctuations188 IF( ln_sto_eos ) CALL sto_pts( tsn ) ! Random T/S fluctuations 191 189 !!gm 192 CALL eos ( tsn, rhd, rhop, fsdept_n(:,:,:) )! now in situ density for hpg computation193 190 CALL eos ( tsn, rhd, rhop, gdept_n(:,:,:) ) ! now in situ density for hpg computation 191 194 192 !!jc: fs simplification 195 !!jc: lines below are useless if l k_vvl=T. Keep them here (which maintains a bug if lk_vvl=Fand ln_zps=T, cf ticket #1636)193 !!jc: lines below are useless if ln_linssh=F. Keep them here (which maintains a bug if ln_linssh=T and ln_zps=T, cf ticket #1636) 196 194 !! but ensures reproductible results 197 195 !! with previous versions using split-explicit free surface … … 224 222 IF( ln_dynspg_ts ) THEN ! vertical scale factors and vertical velocity need to be updated 225 223 CALL div_hor ( kstp ) ! Horizontal divergence (2nd call in time-split case) 226 IF( lk_vvl )CALL dom_vvl_sf_nxt( kstp, kcall=2 ) ! after vertical scale factors (update depth average component)224 IF(.NOT.ln_linssh) CALL dom_vvl_sf_nxt( kstp, kcall=2 ) ! after vertical scale factors (update depth average component) 227 225 CALL wzv ( kstp ) ! now cross-level velocity 228 226 ENDIF … … 297 295 CALL dyn_nxt ( kstp ) ! finalize (bcs) velocities at next time step and swap 298 296 CALL ssh_swp ( kstp ) ! swap of sea surface height 299 IF( lk_vvl )CALL dom_vvl_sf_swp( kstp ) ! swap of vertical scale factors297 IF(.NOT.ln_linssh) CALL dom_vvl_sf_swp( kstp ) ! swap of vertical scale factors 300 298 ! 301 299 … … 313 311 CALL Agrif_Integrate_ChildGrids( stp ) 314 312 315 IF ( Agrif_NbStepint().EQ.0 ) THEN! AGRIF Update316 !!jc in fact update i useless at last time step, but do it for global diagnostics313 IF( Agrif_NbStepint() == 0 ) THEN ! AGRIF Update 314 !!jc in fact update is useless at last time step, but do it for global diagnostics 317 315 CALL Agrif_Update_Tra() ! Update active tracers 318 316 CALL Agrif_Update_Dyn() ! Update momentum … … 326 324 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 327 325 CALL stp_ctl ( kstp, indic ) 328 IF( indic < 0 ) 326 IF( indic < 0 ) THEN 329 327 CALL ctl_stop( 'step: indic < 0' ) 330 328 CALL dia_wri_state( 'output.abort', kstp ) 331 329 ENDIF 332 IF( kstp == nit000 ) 330 IF( kstp == nit000 ) THEN 333 331 CALL iom_close( numror ) ! close input ocean restart file 334 332 IF(lwm) CALL FLUSH ( numond ) ! flush output namelist oce
Note: See TracChangeset
for help on using the changeset viewer.