Changeset 13899 for NEMO/branches/2020/tickets_icb_1900/src/OCE/nemogcm.F90
- Timestamp:
- 2020-11-27T17:26:33+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/tickets_icb_1900
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/tickets_icb_1900
- Property svn:externals
-
NEMO/branches/2020/tickets_icb_1900/src/OCE/nemogcm.F90
r13237 r13899 47 47 USE usrdef_nam ! user defined configuration 48 48 USE tide_mod, ONLY : tide_init ! tidal components initialization (tide_init routine) 49 USE bdy_oce, ONLY : ln_bdy50 49 USE bdyini ! open boundary cond. setting (bdy_init routine) 51 50 USE istate ! initial state setting (istate_init routine) … … 55 54 USE asminc ! assimilation increments 56 55 USE asmbkg ! writing out state trajectory 57 USE diaptr ! poleward transports (dia_ptr_init routine)58 56 USE diadct ! sections transports (dia_dct_init routine) 59 57 USE diaobs ! Observation diagnostics (dia_obs_init routine) … … 88 86 #endif 89 87 ! 88 USE prtctl ! Print control 90 89 USE in_out_manager ! I/O manager 91 90 USE lib_mpp ! distributed memory computing 92 91 USE mppini ! shared/distributed memory setting (mpp_init routine) 93 USE lbcnfd , ONLY : isendto, nsndto , nfsloop, nfeloop! Setup of north fold exchanges92 USE lbcnfd , ONLY : isendto, nsndto ! Setup of north fold exchanges 94 93 USE lib_fortran ! Fortran utilities (allows no signed zero when 'key_nosignedzero' defined) 95 94 #if defined key_iomput … … 99 98 USE agrif_all_update ! Master Agrif update 100 99 #endif 100 USE halo_mng 101 101 102 102 IMPLICIT NONE … … 279 279 INTEGER :: ios, ilocal_comm ! local integers 280 280 !! 281 NAMELIST/namctl/ sn_cfctl, nn_print, nn_ictls, nn_ictle, & 282 & nn_isplt , nn_jsplt, nn_jctls, nn_jctle, & 283 & ln_timing, ln_diacfl 281 NAMELIST/namctl/ sn_cfctl, ln_timing, ln_diacfl, & 282 & nn_isplt, nn_jsplt, nn_ictls, nn_ictle, nn_jctls, nn_jctle 284 283 NAMELIST/namcfg/ ln_read_cfg, cn_domcfg, ln_closea, ln_write_cfg, cn_domcfg_out, ln_use_jattr 285 284 !!---------------------------------------------------------------------- … … 399 398 ! 400 399 IF( ln_read_cfg ) THEN ! Read sizes in domain configuration file 401 CALL domain_cfg ( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio )400 CALL domain_cfg ( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio ) 402 401 ELSE ! user-defined namelist 403 CALL usr_def_nam( cn_cfg, nn_cfg, jpiglo, jpjglo, jpkglo, jperio )402 CALL usr_def_nam( cn_cfg, nn_cfg, Ni0glo, Nj0glo, jpkglo, jperio ) 404 403 ENDIF 405 404 ! … … 411 410 CALL mpp_init 412 411 412 CALL halo_mng_init() 413 413 ! Now we know the dimensions of the grid and numout has been set: we can allocate arrays 414 414 CALL nemo_alloc() … … 471 471 ! ! Lateral physics 472 472 CALL ldf_tra_init ! Lateral ocean tracer physics 473 CALL ldf_eiv_init ! eddy induced velocity param. 473 CALL ldf_eiv_init ! eddy induced velocity param. must be done after ldf_tra_init 474 474 CALL ldf_dyn_init ! Lateral ocean momentum physics 475 475 … … 509 509 CALL flo_init( Nnn ) ! drifting Floats 510 510 IF( ln_diacfl ) CALL dia_cfl_init ! Initialise CFL diagnostics 511 ! CALL dia_ptr_init ! Poleward TRansports initialization512 511 CALL dia_dct_init ! Sections tranports 513 512 CALL dia_hsb_init( Nnn ) ! heat content, salt content and volume budgets … … 554 553 WRITE(numout,*) ' sn_cfctl%procincr = ', sn_cfctl%procincr 555 554 WRITE(numout,*) ' sn_cfctl%ptimincr = ', sn_cfctl%ptimincr 556 WRITE(numout,*) ' level of print nn_print = ', nn_print557 WRITE(numout,*) ' Start i indice for SUM control nn_ictls = ', nn_ictls558 WRITE(numout,*) ' End i indice for SUM control nn_ictle = ', nn_ictle559 WRITE(numout,*) ' Start j indice for SUM control nn_jctls = ', nn_jctls560 WRITE(numout,*) ' End j indice for SUM control nn_jctle = ', nn_jctle561 WRITE(numout,*) ' number of proc. following i nn_isplt = ', nn_isplt562 WRITE(numout,*) ' number of proc. following j nn_jsplt = ', nn_jsplt563 555 WRITE(numout,*) ' timing by routine ln_timing = ', ln_timing 564 556 WRITE(numout,*) ' CFL diagnostics ln_diacfl = ', ln_diacfl 565 557 ENDIF 566 558 ! 567 nprint = nn_print ! convert DOCTOR namelist names into OLD names 568 nictls = nn_ictls 569 nictle = nn_ictle 570 njctls = nn_jctls 571 njctle = nn_jctle 572 isplt = nn_isplt 573 jsplt = nn_jsplt 574 559 IF( .NOT.ln_read_cfg ) ln_closea = .false. ! dealing possible only with a domcfg file 575 560 IF(lwp) THEN ! control print 576 561 WRITE(numout,*) … … 583 568 WRITE(numout,*) ' use file attribute if exists as i/p j-start ln_use_jattr = ', ln_use_jattr 584 569 ENDIF 585 IF( .NOT.ln_read_cfg ) ln_closea = .false. ! dealing possible only with a domcfg file586 !587 ! ! Parameter control588 !589 IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN ! sub-domain area indices for the control prints590 IF( lk_mpp .AND. jpnij > 1 ) THEN591 isplt = jpni ; jsplt = jpnj ; ijsplt = jpni*jpnj ! the domain is forced to the real split domain592 ELSE593 IF( isplt == 1 .AND. jsplt == 1 ) THEN594 CALL ctl_warn( ' - isplt & jsplt are equal to 1', &595 & ' - the print control will be done over the whole domain' )596 ENDIF597 ijsplt = isplt * jsplt ! total number of processors ijsplt598 ENDIF599 IF(lwp) WRITE(numout,*)' - The total number of processors over which the'600 IF(lwp) WRITE(numout,*)' print control will be done is ijsplt : ', ijsplt601 !602 ! ! indices used for the SUM control603 IF( nictls+nictle+njctls+njctle == 0 ) THEN ! print control done over the default area604 lsp_area = .FALSE.605 ELSE ! print control done over a specific area606 lsp_area = .TRUE.607 IF( nictls < 1 .OR. nictls > jpiglo ) THEN608 CALL ctl_warn( ' - nictls must be 1<=nictls>=jpiglo, it is forced to 1' )609 nictls = 1610 ENDIF611 IF( nictle < 1 .OR. nictle > jpiglo ) THEN612 CALL ctl_warn( ' - nictle must be 1<=nictle>=jpiglo, it is forced to jpiglo' )613 nictle = jpiglo614 ENDIF615 IF( njctls < 1 .OR. njctls > jpjglo ) THEN616 CALL ctl_warn( ' - njctls must be 1<=njctls>=jpjglo, it is forced to 1' )617 njctls = 1618 ENDIF619 IF( njctle < 1 .OR. njctle > jpjglo ) THEN620 CALL ctl_warn( ' - njctle must be 1<=njctle>=jpjglo, it is forced to jpjglo' )621 njctle = jpjglo622 ENDIF623 ENDIF624 ENDIF625 570 ! 626 571 IF( 1._wp /= SIGN(1._wp,-0._wp) ) CALL ctl_stop( 'nemo_ctl: The intrinsec SIGN function follows f2003 standard.', &
Note: See TracChangeset
for help on using the changeset viewer.