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/zdftmx.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/zdftmx.F90

    r7923 r9366  
    3535   PUBLIC   zdf_tmx_init    ! called in opa module  
    3636   PUBLIC   zdf_tmx_alloc   ! called in nemogcm module 
     37   PRIVATE  tmx_namelist 
    3738 
    3839   LOGICAL, PUBLIC, PARAMETER ::   lk_zdftmx = .TRUE.    !: tidal mixing flag 
     
    380381      CALL wrk_alloc( jpi,jpj, zem2, zek1, zkz, zfact, zhdep ) 
    381382      CALL wrk_alloc( jpi,jpj,jpk, zpc ) 
     383      IF(lwm) THEN  
     384         REWIND( numnam_ref )              ! Namelist namzdf_tmx in reference namelist : Tidal Mixing 
     385         READ  ( numnam_ref, namzdf_tmx, IOSTAT = ios, ERR = 901) 
     386901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in reference namelist', lwm ) 
     387         REWIND( numnam_cfg )              ! Namelist namzdf_tmx in configuration namelist : Tidal Mixing 
     388         READ  ( numnam_cfg, namzdf_tmx, IOSTAT = ios, ERR = 902 ) 
     389902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwm ) 
     390      ENDIF 
     391 
     392      IF(lwm) WRITE ( numond, namzdf_tmx ) 
    382393       
    383       REWIND( numnam_ref )              ! Namelist namzdf_tmx in reference namelist : Tidal Mixing 
    384       READ  ( numnam_ref, namzdf_tmx, IOSTAT = ios, ERR = 901) 
    385 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in reference namelist', lwp ) 
    386  
    387       REWIND( numnam_cfg )              ! Namelist namzdf_tmx in configuration namelist : Tidal Mixing 
    388       READ  ( numnam_cfg, namzdf_tmx, IOSTAT = ios, ERR = 902 ) 
    389 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 
    390       IF(lwm) WRITE ( numond, namzdf_tmx ) 
     394      call tmx_namelist() 
    391395 
    392396      IF(lwp) THEN                   ! Control print 
     
    560564      ! 
    561565   END SUBROUTINE zdf_tmx_init 
     566 
     567   SUBROUTINE tmx_namelist() 
     568     !!--------------------------------------------------------------------- 
     569     !!                   ***  ROUTINE tmx_namelist  *** 
     570     !!                      
     571     !! ** Purpose :   Broadcast namelist variables read by procesor lwm 
     572     !! 
     573     !! ** Method  :   use lib_mpp 
     574     !!---------------------------------------------------------------------- 
     575#if defined key_mpp_mpi 
     576      CALL mpp_bcast(rn_htmx) 
     577      CALL mpp_bcast(rn_n2min) 
     578      CALL mpp_bcast(rn_tfe) 
     579      CALL mpp_bcast(rn_me) 
     580      CALL mpp_bcast(ln_tmx_itf) 
     581      CALL mpp_bcast(rn_tfe_itf) 
     582#endif 
     583 
     584   END SUBROUTINE tmx_namelist 
    562585 
    563586#elif defined key_zdftmx_new 
     
    966989      IF( nn_timing == 1 )  CALL timing_start('zdf_tmx_init') 
    967990      ! 
    968       REWIND( numnam_ref )              ! Namelist namzdf_tmx in reference namelist : Wave-driven mixing 
    969       READ  ( numnam_ref, namzdf_tmx_new, IOSTAT = ios, ERR = 901) 
    970 901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in reference namelist', lwp ) 
    971       ! 
    972       REWIND( numnam_cfg )              ! Namelist namzdf_tmx in configuration namelist : Wave-driven mixing 
    973       READ  ( numnam_cfg, namzdf_tmx_new, IOSTAT = ios, ERR = 902 ) 
    974 902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 
     991      IF(lwm) THEN 
     992         REWIND( numnam_ref )              ! Namelist namzdf_tmx in reference namelist : Wave-driven mixing 
     993         READ  ( numnam_ref, namzdf_tmx_new, IOSTAT = ios, ERR = 901) 
     994901      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in reference namelist', lwp ) 
     995      ! 
     996         REWIND( numnam_cfg )              ! Namelist namzdf_tmx in configuration namelist : Wave-driven mixing 
     997         READ  ( numnam_cfg, namzdf_tmx_new, IOSTAT = ios, ERR = 902 ) 
     998902      IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 
     999      ENDIF 
    9751000      IF(lwm) WRITE ( numond, namzdf_tmx_new ) 
     1001 
     1002      CALL tmx_namelist() 
    9761003      ! 
    9771004      IF(lwp) THEN                  ! Control print 
     
    10481075   END SUBROUTINE zdf_tmx_init 
    10491076 
     1077   SUBROUTINE tmx_namelist() 
     1078     !!--------------------------------------------------------------------- 
     1079     !!                   ***  ROUTINE tmx_namelist  *** 
     1080     !!                      
     1081     !! ** Purpose :   Broadcast namelist variables read by procesor lwm 
     1082     !! 
     1083     !! ** Method  :   use lib_mpp 
     1084     !!---------------------------------------------------------------------- 
     1085#if defined key_mpp_mpi 
     1086      CALL mpp_bcast(nn_zpyc) 
     1087      CALL mpp_bcast(ln_mevar) 
     1088      CALL mpp_bcast(ln_tsdiff) 
     1089#endif 
     1090   END SUBROUTINE tmx_namelist 
     1091 
    10501092#else 
    10511093   !!---------------------------------------------------------------------- 
Note: See TracChangeset for help on using the changeset viewer.