- Timestamp:
- 2015-12-07T14:32:39+01:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2015/dev_MetOffice_merge_2015/NEMOGCM/NEMO/OPA_SRC/step.F90
r6008 r6010 234 234 ! cool skin 235 235 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 236 IF ( ln_diurnal ) THEN 237 IF ( .NOT. ln_blk_core ) THEN 238 CALL ctl_stop("step.f90: diurnal flux processing not implemented"//& 239 & " for direct forcing") 240 ENDIF 241 CALL diurnal_sst_coolskin_step( & 242 qns, taum, rhop(:,:,1), rdt) 243 ENDIF 236 IF ( ln_diurnal ) CALL stp_diurnal( kstp ) 244 237 245 238 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> … … 256 249 ! 257 250 IF( ln_crs ) CALL crs_fld ( kstp ) ! ocean model: online field coarsening & output 258 259 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>260 ! diurnal warm layer261 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<262 IF ( ln_diurnal ) THEN263 IF( kstp == nit000 )THEN264 CALL diurnal_sst_takaya_step( &265 & qsr, qns, taum, rhop(:,:,1), &266 & rdt, ld_calcfrac = .TRUE.)267 ELSE268 CALL diurnal_sst_takaya_step( &269 & qsr, qns, taum, rhop(:,:,1), rdt )270 ENDIF271 ENDIF272 273 251 274 252 #if defined key_top … … 382 360 END SUBROUTINE stp 383 361 384 SUBROUTINE stp_diurnal( kstp )385 INTEGER, INTENT(in) :: kstp ! ocean time-step index386 !!----------------------------------------------------------------------387 !! *** ROUTINE stp ***388 !!389 !! ** Purpose : - Time stepping of diurnal SST model only390 !!391 !! ** Method : -1- Update forcings and data392 !! -2- Update ocean physics393 !! -3- Compute the t and s trends394 !! -4- Update t and s395 !! -5- Compute the momentum trends396 !! -6- Update the horizontal velocity397 !! -7- Compute the diagnostics variables (rd,N2, div,cur,w)398 !! -8- Outputs and diagnostics399 !!----------------------------------------------------------------------400 INTEGER :: jk ! dummy loop indices401 INTEGER :: indic ! error indicator if < 0402 REAL(wp), DIMENSION(jpi,jpj) :: z_fvel_bkginc, z_hflux_bkginc403 !! ---------------------------------------------------------------------404 405 indic = 1 ! reset to no error condition406 407 IF( kstp /= nit000 ) CALL day( kstp ) ! Calendar (day was already called at nit000 in day_init)408 409 CALL iom_setkt( kstp - nit000 + 1, cxios_context ) ! tell iom we are at time step kstp410 IF( ln_crs ) THEN411 CALL iom_setkt( kstp - nit000 + 1, TRIM(cxios_context)//"_crs" ) ! tell iom we are at time step kstp412 ENDIF413 414 CALL sbc ( kstp ) ! Sea Boundary Conditions415 416 ! Cool skin417 IF ( .NOT.ln_diurnal ) CALL ctl_stop( "stp_diurnal: ln_diurnal not set" )418 419 IF ( .NOT. ln_blk_core ) THEN420 CALL ctl_stop("step.f90: diurnal flux processing not implemented"//&421 & " for direct forcing")422 ENDIF423 424 CALL diurnal_sst_coolskin_step( qns, taum, rhop(:,:,1), rdt)425 426 CALL dia_wri( kstp ) ! ocean model: outputs427 428 ! Diurnal warm layer model429 430 IF( kstp == nit000 )THEN431 CALL diurnal_sst_takaya_step( &432 & qsr, qns, taum, rhop(:,:,1), &433 & rdt, ld_calcfrac = .TRUE.)434 ELSE435 CALL diurnal_sst_takaya_step( &436 & qsr, qns, taum, rhop(:,:,1), rdt )437 ENDIF438 439 IF( ln_diaobs ) CALL dia_obs( kstp ) ! obs-minus-model (assimilation) diagnostics (call after dynamics update)440 441 !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>442 ! Control and restarts443 !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<444 IF( kstp == nit000 ) CALL iom_close( numror ) ! close input ocean restart file445 IF( lrst_oce ) CALL rst_write ( kstp ) ! write output ocean restart file446 447 IF( nn_timing == 1 .AND. kstp == nit000 ) CALL timing_reset448 449 END SUBROUTINE stp_diurnal450 451 !!======================================================================452 362 END MODULE step
Note: See TracChangeset
for help on using the changeset viewer.