New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12928 for NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/SAO – NEMO

Ignore:
Timestamp:
2020-05-14T21:46:00+02:00 (4 years ago)
Author:
smueller
Message:

Synchronizing with /NEMO/trunk@12925 (ticket #2170)

Location:
NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser

    • Property svn:externals
      •  

        old new  
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@HEAD         sette 
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/SAO/nemogcm.F90

    r12178 r12928  
    2929   USE sao_intp 
    3030   ! 
     31   USE in_out_manager ! I/O manager 
    3132   USE lib_mpp        ! distributed memory computing 
    3233   USE mppini         ! shared/distributed memory setting (mpp_init routine) 
     
    9192      INTEGER ::   ios, ilocal_comm   ! local integer 
    9293      ! 
    93       NAMELIST/namctl/ ln_ctl   , sn_cfctl, nn_print, nn_ictls, nn_ictle,   & 
     94      NAMELIST/namctl/ sn_cfctl,  nn_print, nn_ictls, nn_ictle,             & 
    9495         &             nn_isplt , nn_jsplt, nn_jctls, nn_jctle,             & 
    9596         &             ln_timing, ln_diacfl 
     
    135136      IF( lwm )   CALL ctl_opn(     numout,        'ocean.output', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    136137      ! open reference and configuration namelist files 
    137                   CALL ctl_opn( numnam_ref,        'namelist_ref',     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    138                   CALL ctl_opn( numnam_cfg,        'namelist_cfg',     'OLD', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     138                  CALL load_nml( numnam_ref,        'namelist_ref',                                           -1, lwm ) 
     139                  CALL load_nml( numnam_cfg,        'namelist_cfg',                                           -1, lwm ) 
    139140      IF( lwm )   CALL ctl_opn(     numond, 'output.namelist.dyn', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
    140141      ! open /dev/null file to be able to supress output write easily 
     142      IF( Agrif_Root() ) THEN 
    141143                  CALL ctl_opn(     numnul,           '/dev/null', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, -1, .FALSE. ) 
     144#ifdef key_agrif 
     145      ELSE 
     146                  numnul = Agrif_Parent(numnul)    
     147#endif 
     148      ENDIF 
    142149      ! 
    143150      !                             !--------------------! 
    144       !                             ! Open listing units !  -> need ln_ctl from namctl to define lwp 
     151      !                             ! Open listing units !  -> need sn_cfctl from namctl to define lwp 
    145152      !                             !--------------------! 
    146153      ! 
    147       REWIND( numnam_ref )              ! Namelist namctl in reference namelist 
    148154      READ  ( numnam_ref, namctl, IOSTAT = ios, ERR = 901 ) 
    149155901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namctl in reference namelist' ) 
    150       REWIND( numnam_cfg )              ! Namelist namctl in confguration namelist 
    151156      READ  ( numnam_cfg, namctl, IOSTAT = ios, ERR = 902 ) 
    152157902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namctl in configuration namelist' ) 
    153158      ! 
    154       lwp = (narea == 1) .OR. ln_ctl    ! control of all listing output print 
     159      ! finalize the definition of namctl variables 
     160      IF( sn_cfctl%l_allon ) THEN 
     161         ! Turn on all options. 
     162         CALL nemo_set_cfctl( sn_cfctl, .TRUE., .TRUE. ) 
     163         ! Ensure all processors are active 
     164         sn_cfctl%procmin = 0 ; sn_cfctl%procmax = 1000000 ; sn_cfctl%procincr = 1 
     165      ELSEIF( sn_cfctl%l_config ) THEN 
     166         ! Activate finer control of report outputs 
     167         ! optionally switch off output from selected areas (note this only 
     168         ! applies to output which does not involve global communications) 
     169         IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
     170           & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
     171           &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
     172      ELSE 
     173         ! turn off all options. 
     174         CALL nemo_set_cfctl( sn_cfctl, .FALSE., .TRUE. ) 
     175      ENDIF 
     176      ! 
     177      lwp = (narea == 1) .OR. sn_cfctl%l_oceout    ! control of all listing output print 
    155178      ! 
    156179      IF(lwp) THEN                      ! open listing units 
     
    184207      ENDIF 
    185208      ! 
    186       ! finalize the definition of namctl variables 
    187       IF( sn_cfctl%l_config ) THEN 
    188          ! Activate finer control of report outputs 
    189          ! optionally switch off output from selected areas (note this only 
    190          ! applies to output which does not involve global communications) 
    191          IF( ( narea < sn_cfctl%procmin .OR. narea > sn_cfctl%procmax  ) .OR. & 
    192            & ( MOD( narea - sn_cfctl%procmin, sn_cfctl%procincr ) /= 0 ) )    & 
    193            &   CALL nemo_set_cfctl( sn_cfctl, .FALSE., .FALSE. ) 
    194       ELSE 
    195          ! Use ln_ctl to turn on or off all options. 
    196          CALL nemo_set_cfctl( sn_cfctl, ln_ctl, .TRUE. ) 
    197       ENDIF 
    198       ! 
    199209      IF(lwm) WRITE( numond, namctl ) 
    200210      ! 
     
    203213      !                             !------------------------------------! 
    204214      ! 
    205       REWIND( numnam_ref )              ! Namelist namcfg in reference namelist 
    206215      READ  ( numnam_ref, namcfg, IOSTAT = ios, ERR = 903 ) 
    207216903   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namcfg in reference namelist' ) 
    208       REWIND( numnam_cfg )              ! Namelist namcfg in confguration namelist 
    209217      READ  ( numnam_cfg, namcfg, IOSTAT = ios, ERR = 904 ) 
    210218904   IF( ios >  0 )   CALL ctl_nam ( ios , 'namcfg in configuration namelist' )    
     
    238246                           CALL phy_cst            ! Physical constants 
    239247                           CALL eos_init           ! Equation of state 
    240                            CALL dom_init('SAO')    ! Domain 
    241  
    242  
    243       IF( ln_ctl       )   CALL prt_ctl_init    ! Print control 
    244  
    245                            CALL istate_init     ! ocean initial state (Dynamics and tracers) 
     248                           CALL dom_init( Nbb, Nnn, Naa, 'SAO')    ! Domain 
     249 
     250 
     251      IF( sn_cfctl%l_prtctl )   & 
     252         &                 CALL prt_ctl_init       ! Print control 
     253 
     254                           CALL istate_init        ! ocean initial state (Dynamics and tracers) 
    246255   END SUBROUTINE nemo_init 
    247256 
     
    253262      !! ** Purpose :   control print setting 
    254263      !! 
    255       !! ** Method  : - print namctl information and check some consistencies 
     264      !! ** Method  : - print namctl and namcfg information and check some consistencies 
    256265      !!---------------------------------------------------------------------- 
    257266      ! 
     
    261270         WRITE(numout,*) '~~~~~~~~' 
    262271         WRITE(numout,*) '   Namelist namctl' 
    263          WRITE(numout,*) '      run control (for debugging)     ln_ctl     = ', ln_ctl 
     272         WRITE(numout,*) '                              sn_cfctl%l_glochk  = ', sn_cfctl%l_glochk 
     273         WRITE(numout,*) '                              sn_cfctl%l_allon   = ', sn_cfctl%l_allon 
    264274         WRITE(numout,*) '       finer control over o/p sn_cfctl%l_config  = ', sn_cfctl%l_config 
    265275         WRITE(numout,*) '                              sn_cfctl%l_runstat = ', sn_cfctl%l_runstat 
     
    267277         WRITE(numout,*) '                              sn_cfctl%l_oceout  = ', sn_cfctl%l_oceout 
    268278         WRITE(numout,*) '                              sn_cfctl%l_layout  = ', sn_cfctl%l_layout 
    269          WRITE(numout,*) '                              sn_cfctl%l_mppout  = ', sn_cfctl%l_mppout 
    270          WRITE(numout,*) '                              sn_cfctl%l_mpptop  = ', sn_cfctl%l_mpptop 
     279         WRITE(numout,*) '                              sn_cfctl%l_prtctl  = ', sn_cfctl%l_prtctl 
     280         WRITE(numout,*) '                              sn_cfctl%l_prttrc  = ', sn_cfctl%l_prttrc 
     281         WRITE(numout,*) '                              sn_cfctl%l_oasout  = ', sn_cfctl%l_oasout 
    271282         WRITE(numout,*) '                              sn_cfctl%procmin   = ', sn_cfctl%procmin   
    272283         WRITE(numout,*) '                              sn_cfctl%procmax   = ', sn_cfctl%procmax   
     
    306317      !                             ! Parameter control 
    307318      ! 
    308       IF( ln_ctl ) THEN                 ! sub-domain area indices for the control prints 
     319      IF( sn_cfctl%l_prtctl .OR. sn_cfctl%l_prttrc ) THEN              ! sub-domain area indices for the control prints 
    309320         IF( lk_mpp .AND. jpnij > 1 ) THEN 
    310321            isplt = jpni   ;   jsplt = jpnj   ;   ijsplt = jpni*jpnj   ! the domain is forced to the real split domain 
     
    363374      IF( numstp          /= -1 )   CLOSE( numstp          )   ! time-step file 
    364375      IF( numrun          /= -1 )   CLOSE( numrun          )   ! run statistics file 
    365       IF( numnam_ref      /= -1 )   CLOSE( numnam_ref      )   ! oce reference namelist 
    366       IF( numnam_cfg      /= -1 )   CLOSE( numnam_cfg      )   ! oce configuration namelist 
    367376      IF( lwm.AND.numond  /= -1 )   CLOSE( numond          )   ! oce output namelist 
    368       IF( numnam_ice_ref  /= -1 )   CLOSE( numnam_ice_ref  )   ! ice reference namelist 
    369       IF( numnam_ice_cfg  /= -1 )   CLOSE( numnam_ice_cfg  )   ! ice configuration namelist 
    370377      IF( lwm.AND.numoni  /= -1 )   CLOSE( numoni          )   ! ice output namelist 
    371378      IF( numevo_ice      /= -1 )   CLOSE( numevo_ice      )   ! ice variables (temp. evolution) 
     
    426433      sn_cfctl%l_oceout  = setto 
    427434      sn_cfctl%l_layout  = setto 
    428       sn_cfctl%l_mppout  = setto 
    429       sn_cfctl%l_mpptop  = setto 
     435      sn_cfctl%l_prtctl  = setto 
     436      sn_cfctl%l_prttrc  = setto 
     437      sn_cfctl%l_oasout  = setto 
    430438   END SUBROUTINE nemo_set_cfctl 
    431439 
  • NEMO/branches/2019/dev_r11078_OSMOSIS_IMMERSE_Nurser/src/SAO/sao_data.F90

    r12178 r12928  
    5252 
    5353      ! Standard offline obs_oper settings 
    54       REWIND( numnam_ref )              ! Namelist namctl in reference namelist : Control prints & Benchmark 
    5554      READ  ( numnam_ref, namsao, IOSTAT = ios, ERR = 901 ) 
    5655901   IF( ios /= 0 )   CALL ctl_nam ( ios , 'namsao in reference namelist' ) 
    57       REWIND( numnam_cfg )              ! Namelist namctl in confguration namelist : Control prints & Benchmark 
    5856      READ  ( numnam_cfg, namsao, IOSTAT = ios, ERR = 902 ) 
    5957902   IF( ios >  0 )   CALL ctl_nam ( ios , 'namsao in configuration namelist' ) 
Note: See TracChangeset for help on using the changeset viewer.