Changeset 12958 for NEMO/branches/UKMO/dev_r12745_HPC-02_Daley_Tiling_trial_public/src/OFF/nemogcm.F90
- Timestamp:
- 2020-05-21T17:14:32+02:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/UKMO/dev_r12745_HPC-02_Daley_Tiling_trial_public/src/OFF/nemogcm.F90
r12641 r12958 28 28 USE usrdef_nam ! user defined configuration 29 29 USE eosbn2 ! equation of state (eos bn2 routine) 30 USE bdy_oce, ONLY : ln_bdy 31 USE bdyini ! open boundary cond. setting (bdy_init routine) 30 32 ! ! ocean physics 31 33 USE ldftra ! lateral diffusivity setting (ldf_tra_init routine) … … 90 92 !! Madec, 2008, internal report, IPSL. 91 93 !!---------------------------------------------------------------------- 92 INTEGER :: istp , indic! time step index94 INTEGER :: istp ! time step index 93 95 !!---------------------------------------------------------------------- 94 96 … … 130 132 IF( .NOT.ln_linssh ) CALL dta_dyn_sf_interp( istp, Nnn ) ! calculate now grid parameters 131 133 #endif 132 CALL stp_ctl ( istp , indic )! Time loop: control and print134 CALL stp_ctl ( istp ) ! Time loop: control and print 133 135 istp = istp + 1 134 136 END DO … … 227 229 ! 228 230 ! finalize the definition of namctl variables 229 IF( sn_cfctl%l_allon ) THEN 230 ! Turn on all options. 231 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 232 ! Ensure all processors are active 233 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 234 ELSEIF( sn_cfctl%l_config ) THEN 235 ! Activate finer control of report outputs 236 ! optionally switch off output from selected areas (note this only 237 ! applies to output which does not involve global communications) 238 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 239 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 240 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 241 ELSE 242 ! turn off all options. 243 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 244 ENDIF 231 IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) & 232 & CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 245 233 ! 246 234 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print … … 307 295 ! Initialise time level indices 308 296 Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 309 310 297 311 298 ! !-------------------------------! … … 329 316 330 317 CALL sbc_init( Nbb, Nnn, Naa ) ! Forcings : surface module 318 CALL bdy_init ! Open boundaries initialisation 331 319 332 320 ! ! Tracer physics … … 371 359 WRITE(numout,*) '~~~~~~~~' 372 360 WRITE(numout,*) ' Namelist namctl' 373 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk374 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon375 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config376 361 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 377 362 WRITE(numout,*) ' sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat … … 492 477 USE zdf_oce, ONLY : zdf_oce_alloc 493 478 USE trc_oce, ONLY : trc_oce_alloc 479 USE bdy_oce, ONLY : bdy_oce_alloc 494 480 ! 495 481 INTEGER :: ierr … … 501 487 ierr = ierr + zdf_oce_alloc() ! ocean vertical physics 502 488 ierr = ierr + trc_oce_alloc() ! shared TRC / TRA arrays 489 ierr = ierr + bdy_oce_alloc() ! bdy masks (incl. initialization) 503 490 ! 504 491 CALL mpp_sum( 'nemogcm', ierr ) … … 507 494 END SUBROUTINE nemo_alloc 508 495 509 SUBROUTINE nemo_set_cfctl(sn_cfctl, setto , for_all)496 SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 510 497 !!---------------------------------------------------------------------- 511 498 !! *** ROUTINE nemo_set_cfctl *** 512 499 !! 513 500 !! ** Purpose : Set elements of the output control structure to setto. 514 !! for_all should be .false. unless all areas are to be 515 !! treated identically. 516 !! 501 !! 517 502 !! ** Method : Note this routine can be used to switch on/off some 518 !! types of output for selected areas but any output types 519 !! that involve global communications (e.g. mpp_max, glob_sum) 520 !! should be protected from selective switching by the 521 !! for_all argument 522 !!---------------------------------------------------------------------- 523 LOGICAL :: setto, for_all 524 TYPE(sn_ctl) :: sn_cfctl 525 !!---------------------------------------------------------------------- 526 IF( for_all ) THEN 527 sn_cfctl%l_runstat = setto 528 sn_cfctl%l_trcstat = setto 529 ENDIF 503 !! types of output for selected areas. 504 !!---------------------------------------------------------------------- 505 TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 506 LOGICAL , INTENT(in ) :: setto 507 !!---------------------------------------------------------------------- 508 sn_cfctl%l_runstat = setto 509 sn_cfctl%l_trcstat = setto 530 510 sn_cfctl%l_oceout = setto 531 511 sn_cfctl%l_layout = setto … … 557 537 558 538 559 SUBROUTINE stp_ctl( kt , kindic)539 SUBROUTINE stp_ctl( kt ) 560 540 !!---------------------------------------------------------------------- 561 541 !! *** ROUTINE stp_ctl *** … … 568 548 !!---------------------------------------------------------------------- 569 549 INTEGER, INTENT(in ) :: kt ! ocean time-step index 570 INTEGER, INTENT(inout) :: kindic ! indicator of solver convergence571 550 !!---------------------------------------------------------------------- 572 551 !
Note: See TracChangeset
for help on using the changeset viewer.