- Timestamp:
- 2019-12-13T10:19:48+01:00 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/nemogcm.F90
r12205 r12236 267 267 INTEGER :: ios, ilocal_comm ! local integers 268 268 !! 269 NAMELIST/namctl/ ln_ctl , sn_cfctl, nn_print, nn_ictls, nn_ictle,&269 NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle, & 270 270 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 271 271 & ln_timing, ln_diacfl … … 318 318 ! 319 319 ! !--------------------! 320 ! ! Open listing units ! -> need ln_ctl from namctl to define lwp320 ! ! Open listing units ! -> need sn_cfctl from namctl to define lwp 321 321 ! !--------------------! 322 322 ! … … 326 326 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 327 327 ! 328 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 328 ! finalize the definition of namctl variables 329 IF( sn_cfctl%l_allon ) THEN 330 ! Turn on all options. 331 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 332 ! Ensure all processors are active 333 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 334 ELSEIF( sn_cfctl%l_config ) THEN 335 ! Activate finer control of report outputs 336 ! optionally switch off output from selected areas (note this only 337 ! applies to output which does not involve global communications) 338 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 339 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 340 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 341 ELSE 342 ! turn off all options. 343 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 344 ENDIF 345 ! 346 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print 329 347 ! 330 348 IF(lwp) THEN ! open listing units … … 358 376 ENDIF 359 377 ! 360 ! finalize the definition of namctl variables361 IF( sn_cfctl%l_config ) THEN362 ! Activate finer control of report outputs363 ! optionally switch off output from selected areas (note this only364 ! applies to output which does not involve global communications)365 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. &366 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) &367 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. )368 ELSE369 ! Use ln_ctl to turn on or off all options.370 CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. )371 ENDIF372 !373 378 IF(lwm) WRITE( numond, namctl ) 374 379 ! … … 417 422 CALL dom_init( Nbb, Nnn, Naa, "OPA") ! Domain 418 423 IF( ln_crs ) CALL crs_init( Nnn ) ! coarsened grid: domain initialization 419 IF( ln_ctl ) CALL prt_ctl_init ! Print control 424 IF( sn_cfctl%l_prtctl ) & 425 & CALL prt_ctl_init ! Print control 420 426 421 CALL diurnal_sst_bulk_init! diurnal sst427 CALL diurnal_sst_bulk_init ! diurnal sst 422 428 IF( ln_diurnal ) CALL diurnal_sst_coolskin_init ! cool skin 423 429 ! 424 IF( ln_diurnal_only ) THEN ! diurnal only: a subset of the initialisation routines425 CALL istate_init( Nbb, Nnn, Naa ) 426 CALL sbc_init( Nbb, Nnn, Naa ) 427 CALL tra_qsr_init 428 IF( ln_diaobs ) THEN 429 CALL dia_obs_init( Nnn ) 430 CALL dia_obs( nit000 - 1, Nnn ) 430 IF( ln_diurnal_only ) THEN ! diurnal only: a subset of the initialisation routines 431 CALL istate_init( Nbb, Nnn, Naa ) ! ocean initial state (Dynamics and tracers) 432 CALL sbc_init( Nbb, Nnn, Naa ) ! Forcings : surface module 433 CALL tra_qsr_init ! penetrative solar radiation qsr 434 IF( ln_diaobs ) THEN ! Observation & model comparison 435 CALL dia_obs_init( Nnn ) ! Initialize observational data 436 CALL dia_obs( nit000 - 1, Nnn ) ! Observation operator for restart 431 437 ENDIF 432 438 IF( lk_asminc ) CALL asm_inc_init( Nbb, Nnn, Nrhs ) ! Assimilation increments … … 521 527 WRITE(numout,*) '~~~~~~~~' 522 528 WRITE(numout,*) ' Namelist namctl' 523 WRITE(numout,*) ' run control (for debugging) ln_ctl = ', ln_ctl 529 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk 530 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon 524 531 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config 525 532 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat … … 527 534 WRITE(numout,*) ' sn_cfctl%l_oceout = ', sn_cfctl%l_oceout 528 535 WRITE(numout,*) ' sn_cfctl%l_layout = ', sn_cfctl%l_layout 529 WRITE(numout,*) ' sn_cfctl%l_mppout = ', sn_cfctl%l_mppout 530 WRITE(numout,*) ' sn_cfctl%l_mpptop = ', sn_cfctl%l_mpptop 536 WRITE(numout,*) ' sn_cfctl%l_prtctl = ', sn_cfctl%l_prtctl 537 WRITE(numout,*) ' sn_cfctl%l_prttrc = ', sn_cfctl%l_prttrc 538 WRITE(numout,*) ' sn_cfctl%l_oasout = ', sn_cfctl%l_oasout 531 539 WRITE(numout,*) ' sn_cfctl%procmin = ', sn_cfctl%procmin 532 540 WRITE(numout,*) ' sn_cfctl%procmax = ', sn_cfctl%procmax … … 566 574 ! ! Parameter control 567 575 ! 568 IF( ln_ctl ) THEN! sub-domain area indices for the control prints576 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN ! sub-domain area indices for the control prints 569 577 IF( lk_mpp .AND. jpnij > 1 ) THEN 570 578 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain … … 692 700 sn_cfctl%l_oceout = setto 693 701 sn_cfctl%l_layout = setto 694 sn_cfctl%l_mppout = setto 695 sn_cfctl%l_mpptop = setto 702 sn_cfctl%l_prtctl = setto 703 sn_cfctl%l_prttrc = setto 704 sn_cfctl%l_oasout = setto 696 705 END SUBROUTINE nemo_set_cfctl 697 706
Note: See TracChangeset
for help on using the changeset viewer.