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 9366 for branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90 – NEMO

Ignore:
Timestamp:
2018-02-28T16:29:13+01:00 (6 years ago)
Author:
andmirek
Message:

#2050 first version. Compiled OK in moci test suite

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r8243 r9366  
    6262   PUBLIC   sbc        ! routine called by step.F90 
    6363   PUBLIC   sbc_init   ! routine called by opa.F90 
     64   PRIVATE  sbc_namelist 
    6465    
    6566   INTEGER ::   nsbc   ! type of surface boundary condition (deduced from namsbc informations) 
     
    102103         WRITE(numout,*) '~~~~~~~~ ' 
    103104      ENDIF 
    104  
    105       REWIND( numnam_ref )              ! Namelist namsbc in reference namelist : Surface boundary 
    106       READ  ( numnam_ref, namsbc, IOSTAT = ios, ERR = 901) 
    107 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist', lwp ) 
    108  
    109       REWIND( numnam_cfg )              ! Namelist namsbc in configuration namelist : Parameters of the run 
    110       READ  ( numnam_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 
    111 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwp ) 
     105      IF(lwm) THEN 
     106         REWIND( numnam_ref )              ! Namelist namsbc in reference namelist : Surface boundary 
     107         READ  ( numnam_ref, namsbc, IOSTAT = ios, ERR = 901) 
     108901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in reference namelist', lwm ) 
     109         REWIND( numnam_cfg )              ! Namelist namsbc in configuration namelist : Parameters of the run 
     110         READ  ( numnam_cfg, namsbc, IOSTAT = ios, ERR = 902 ) 
     111902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwm ) 
     112      ENDIF 
    112113      IF(lwm) WRITE ( numond, namsbc ) 
    113114 
     115      CALL sbc_namelist() 
    114116      !                          ! overwrite namelist parameter using CPP key information 
    115117      IF( Agrif_Root() ) THEN                ! AGRIF zoom 
     
    508510   END SUBROUTINE sbc_final 
    509511 
     512   SUBROUTINE sbc_namelist() 
     513     !!--------------------------------------------------------------------- 
     514     !!                   ***  ROUTINE sbc_namelist  *** 
     515     !!                      
     516     !! ** Purpose :   Broadcast namelist variables read by procesor lwm 
     517     !! 
     518     !! ** Method  :   use lib_mpp 
     519     !!---------------------------------------------------------------------- 
     520#if defined key_mpp_mpi 
     521      CALL mpp_bcast(nn_fsbc) 
     522      CALL mpp_bcast(ln_ana) 
     523      CALL mpp_bcast(ln_flx) 
     524      CALL mpp_bcast(ln_blk_clio) 
     525      CALL mpp_bcast(ln_blk_core) 
     526      CALL mpp_bcast(ln_mixcpl) 
     527      CALL mpp_bcast(ln_blk_mfs) 
     528      CALL mpp_bcast(ln_apr_dyn) 
     529      CALL mpp_bcast(nn_ice) 
     530      CALL mpp_bcast(nn_ice_embd) 
     531      CALL mpp_bcast(ln_dm2dc) 
     532      CALL mpp_bcast(ln_rnf) 
     533      CALL mpp_bcast(ln_ssr) 
     534      CALL mpp_bcast(nn_isf) 
     535      CALL mpp_bcast(nn_fwb) 
     536      CALL mpp_bcast(ln_cdgw) 
     537      CALL mpp_bcast(ln_wave) 
     538      CALL mpp_bcast(ln_sdw) 
     539      CALL mpp_bcast(nn_lsm) 
     540      CALL mpp_bcast(nn_limflx) 
     541      CALL mpp_bcast(nn_components) 
     542      CALL mpp_bcast(ln_cpl) 
     543#endif 
     544   END SUBROUTINE sbc_namelist 
     545 
    510546   !!====================================================================== 
    511547END MODULE sbcmod 
Note: See TracChangeset for help on using the changeset viewer.