- Timestamp:
- 2020-06-26T10:26:32+02:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement
- Property svn:externals
-
old new 8 8 9 9 # SETTE 10 ^/utils/CI/sette@ HEADsette10 ^/utils/CI/sette@12931 sette
-
- Property svn:externals
-
NEMO/branches/2020/dev_r12563_ASINTER-06_ABL_improvement/src/OFF/nemogcm.F90
r12377 r13159 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 … … 145 147 IF( nstop /= 0 .AND. lwp ) THEN ! error print 146 148 WRITE(ctmp1,*) ' ==>>> nemo_gcm: a total of ', nstop, ' errors have been found' 147 CALL ctl_stop( ctmp1 ) 149 WRITE(ctmp2,*) ' Look for "E R R O R" messages in all existing ocean_output* files' 150 CALL ctl_stop( ' ', ctmp1, ' ', ctmp2 ) 148 151 ENDIF 149 152 ! … … 209 212 IF( lwm ) CALL ctl_opn( numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 210 213 ! open /dev/null file to be able to supress output write easily 214 IF( Agrif_Root() ) THEN 211 215 CALL ctl_opn( numnul, '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 216 #ifdef key_agrif 217 ELSE 218 numnul = Agrif_Parent(numnul) 219 #endif 220 ENDIF 212 221 ! 213 222 ! !--------------------! … … 221 230 ! 222 231 ! finalize the definition of namctl variables 223 IF( sn_cfctl%l_allon ) THEN 224 ! Turn on all options. 225 CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 226 ! Ensure all processors are active 227 sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 228 ELSEIF( sn_cfctl%l_config ) THEN 229 ! Activate finer control of report outputs 230 ! optionally switch off output from selected areas (note this only 231 ! applies to output which does not involve global communications) 232 IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax ) .OR. & 233 & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) ) & 234 & CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 235 ELSE 236 ! turn off all options. 237 CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 238 ENDIF 232 IF( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax .OR. MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) & 233 & CALL nemo_set_cfctl( sn_cfctl, .FALSE. ) 239 234 ! 240 235 lwp = (narea == 1) .OR. sn_cfctl%l_oceout ! control of all listing output print … … 301 296 ! Initialise time level indices 302 297 Nbb = 1; Nnn = 2; Naa = 3; Nrhs = Naa 303 304 298 305 299 ! !-------------------------------! … … 323 317 324 318 CALL sbc_init( Nbb, Nnn, Naa ) ! Forcings : surface module 319 CALL bdy_init ! Open boundaries initialisation 325 320 326 321 ! ! Tracer physics … … 365 360 WRITE(numout,*) '~~~~~~~~' 366 361 WRITE(numout,*) ' Namelist namctl' 367 WRITE(numout,*) ' sn_cfctl%l_glochk = ', sn_cfctl%l_glochk368 WRITE(numout,*) ' sn_cfctl%l_allon = ', sn_cfctl%l_allon369 WRITE(numout,*) ' finer control over o/p sn_cfctl%l_config = ', sn_cfctl%l_config370 362 WRITE(numout,*) ' sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 371 363 WRITE(numout,*) ' sn_cfctl%l_trcstat = ', sn_cfctl%l_trcstat … … 486 478 USE zdf_oce, ONLY : zdf_oce_alloc 487 479 USE trc_oce, ONLY : trc_oce_alloc 480 USE bdy_oce, ONLY : bdy_oce_alloc 488 481 ! 489 482 INTEGER :: ierr … … 495 488 ierr = ierr + zdf_oce_alloc() ! ocean vertical physics 496 489 ierr = ierr + trc_oce_alloc() ! shared TRC / TRA arrays 490 ierr = ierr + bdy_oce_alloc() ! bdy masks (incl. initialization) 497 491 ! 498 492 CALL mpp_sum( 'nemogcm', ierr ) … … 501 495 END SUBROUTINE nemo_alloc 502 496 503 SUBROUTINE nemo_set_cfctl(sn_cfctl, setto , for_all)497 SUBROUTINE nemo_set_cfctl(sn_cfctl, setto ) 504 498 !!---------------------------------------------------------------------- 505 499 !! *** ROUTINE nemo_set_cfctl *** 506 500 !! 507 501 !! ** Purpose : Set elements of the output control structure to setto. 508 !! for_all should be .false. unless all areas are to be 509 !! treated identically. 510 !! 502 !! 511 503 !! ** Method : Note this routine can be used to switch on/off some 512 !! types of output for selected areas but any output types 513 !! that involve global communications (e.g. mpp_max, glob_sum) 514 !! should be protected from selective switching by the 515 !! for_all argument 516 !!---------------------------------------------------------------------- 517 LOGICAL :: setto, for_all 518 TYPE(sn_ctl) :: sn_cfctl 519 !!---------------------------------------------------------------------- 520 IF( for_all ) THEN 521 sn_cfctl%l_runstat = setto 522 sn_cfctl%l_trcstat = setto 523 ENDIF 504 !! types of output for selected areas. 505 !!---------------------------------------------------------------------- 506 TYPE(sn_ctl), INTENT(inout) :: sn_cfctl 507 LOGICAL , INTENT(in ) :: setto 508 !!---------------------------------------------------------------------- 509 sn_cfctl%l_runstat = setto 510 sn_cfctl%l_trcstat = setto 524 511 sn_cfctl%l_oceout = setto 525 512 sn_cfctl%l_layout = setto … … 551 538 552 539 553 SUBROUTINE stp_ctl( kt , kindic)540 SUBROUTINE stp_ctl( kt ) 554 541 !!---------------------------------------------------------------------- 555 542 !! *** ROUTINE stp_ctl *** … … 562 549 !!---------------------------------------------------------------------- 563 550 INTEGER, INTENT(in ) :: kt ! ocean time-step index 564 INTEGER, INTENT(inout) :: kindic ! indicator of solver convergence565 551 !!---------------------------------------------------------------------- 566 552 !
Note: See TracChangeset
for help on using the changeset viewer.