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/ZDF/zdftke.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/ZDF/zdftke.F90

    r8243 r9366  
    6868   PUBLIC   zdf_tke_init   ! routine called in opa module 
    6969   PUBLIC   tke_rst        ! routine called in step module 
     70   PRIVATE  tke_namelist 
    7071 
    7172   LOGICAL , PUBLIC, PARAMETER ::   lk_zdftke = .TRUE.  !: TKE vertical mixing flag 
     
    780781         &                 nn_etau , nn_htau  , rn_efr , rn_c    
    781782      !!---------------------------------------------------------------------- 
    782  
    783       REWIND( numnam_ref )              ! Namelist namzdf_tke in reference namelist : Turbulent Kinetic Energy 
    784       READ  ( numnam_ref, namzdf_tke, IOSTAT = ios, ERR = 901) 
    785 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in reference namelist', lwp ) 
    786  
    787       REWIND( numnam_cfg )              ! Namelist namzdf_tke in configuration namelist : Turbulent Kinetic Energy 
    788       READ  ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 
    789 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwp ) 
     783      IF(lwm) THEN 
     784         REWIND( numnam_ref )              ! Namelist namzdf_tke in reference namelist : Turbulent Kinetic Energy 
     785         READ  ( numnam_ref, namzdf_tke, IOSTAT = ios, ERR = 901) 
     786901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in reference namelist', lwm ) 
     787         REWIND( numnam_cfg )              ! Namelist namzdf_tke in configuration namelist : Turbulent Kinetic Energy 
     788         READ  ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 
     789902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwm ) 
     790      ENDIF 
     791 
    790792      IF(lwm) WRITE ( numond, namzdf_tke ) 
     793      ! Broadcast namelist 
     794      CALL tke_namelist() 
    791795      ! 
    792796      ri_cri   = 2._wp    / ( 2._wp + rn_ediss / rn_ediff )   ! resulting critical Richardson number 
     
    985989   END SUBROUTINE tke_rst 
    986990 
     991   SUBROUTINE tke_namelist() 
     992     !!--------------------------------------------------------------------- 
     993     !!                   ***  ROUTINE tke_namelist  *** 
     994     !!                      
     995     !! ** Purpose :   Broadcast namelist variables read by procesor lwp 
     996     !! 
     997     !! ** Method  :   use lib_mpp 
     998     !!---------------------------------------------------------------------- 
     999#if defined key_mpp_mpi 
     1000      call mpp_bcast(rn_ediff) 
     1001      call mpp_bcast(rn_ediss) 
     1002      call mpp_bcast(rn_ebb) 
     1003      call mpp_bcast(rn_emin) 
     1004      call mpp_bcast(rn_emin0) 
     1005      call mpp_bcast(rn_bshear) 
     1006      call mpp_bcast(nn_mxl) 
     1007      call mpp_bcast(ln_mxl0) 
     1008      call mpp_bcast(rn_mxl0) 
     1009      call mpp_bcast(nn_pdl) 
     1010      call mpp_bcast(ln_lc) 
     1011      call mpp_bcast(rn_lc) 
     1012      call mpp_bcast(nn_etau) 
     1013      call mpp_bcast(nn_htau) 
     1014      call mpp_bcast(rn_efr) 
     1015      call mpp_bcast(rn_c) 
     1016#endif 
     1017   END SUBROUTINE tke_namelist 
    9871018#else 
    9881019   !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.