Changeset 9366
- Timestamp:
- 2018-02-28T16:29:13+01:00 (7 years ago)
- Location:
- branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC
- Files:
-
- 61 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ASM/asminc.F90
r6498 r9366 50 50 PUBLIC ssh_asm_inc !: Apply the SSH increment 51 51 PUBLIC seaice_asm_inc !: Apply the seaice increment 52 PRIVATE asm_namelist 52 53 53 54 #if defined key_asminc … … 142 143 ln_temnofreeze = .FALSE. 143 144 144 REWIND( numnam_ref ) ! Namelist nam_asminc in reference namelist : Assimilation increment 145 READ ( numnam_ref, nam_asminc, IOSTAT = ios, ERR = 901) 146 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in reference namelist', lwp ) 147 148 REWIND( numnam_cfg ) ! Namelist nam_asminc in configuration namelist : Assimilation increment 149 READ ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 ) 150 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in configuration namelist', lwp ) 145 IF(lwm) THEN 146 REWIND( numnam_ref ) ! Namelist nam_asminc in reference namelist : Assimilation increment 147 READ ( numnam_ref, nam_asminc, IOSTAT = ios, ERR = 901) 148 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in reference namelist', lwm ) 149 REWIND( numnam_cfg ) ! Namelist nam_asminc in configuration namelist : Assimilation increment 150 READ ( numnam_cfg, nam_asminc, IOSTAT = ios, ERR = 902 ) 151 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_asminc in configuration namelist', lwm ) 152 ENDIF 153 151 154 IF(lwm) WRITE ( numond, nam_asminc ) 155 156 CALL asm_namelist() 152 157 153 158 ! Control print … … 1146 1151 1147 1152 END SUBROUTINE seaice_asm_inc 1148 1153 1154 SUBROUTINE asm_namelist() 1155 !!--------------------------------------------------------------------- 1156 !! *** ROUTINE asm_namelist *** 1157 !! 1158 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1159 !! 1160 !! ** Method : use lib_mpp 1161 !!---------------------------------------------------------------------- 1162 #if defined key_mpp_mpi 1163 CALL mpp_bcast(ln_bkgwri) 1164 CALL mpp_bcast(ln_trainc) 1165 CALL mpp_bcast(ln_dyninc) 1166 CALL mpp_bcast(ln_sshinc) 1167 CALL mpp_bcast(ln_asmdin) 1168 CALL mpp_bcast(ln_asmiau) 1169 CALL mpp_bcast(nitbkg) 1170 CALL mpp_bcast(nitdin) 1171 CALL mpp_bcast(nitiaustr) 1172 CALL mpp_bcast(nitiaufin) 1173 CALL mpp_bcast(niaufn) 1174 CALL mpp_bcast(ln_salfix) 1175 CALL mpp_bcast(salfixmin) 1176 CALL mpp_bcast(nn_divdmp) 1177 #endif 1178 END SUBROUTINE asm_namelist 1149 1179 !!====================================================================== 1150 1180 END MODULE asminc -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90
r8243 r9366 43 43 PUBLIC bdy_dta ! routine called by step.F90 and dynspg_ts.F90 44 44 PUBLIC bdy_dta_init ! routine called by nemogcm.F90 45 PRIVATE dta_namelist 45 46 46 47 INTEGER, ALLOCATABLE, DIMENSION(:) :: nb_bdy_fld ! Number of fields to update for each boundary set. … … 524 525 ! Read namelists 525 526 ! -------------- 526 REWIND(numnam_ref) 527 REWIND(numnam_cfg) 527 IF(lwm) THEN 528 REWIND(numnam_ref) 529 REWIND(numnam_cfg) 530 ENDIF 528 531 jfld = 0 529 532 DO ib_bdy = 1, nb_bdy 530 533 IF( nn_dta(ib_bdy) .eq. 1 ) THEN 531 READ ( numnam_ref, nambdy_dta, IOSTAT = ios, ERR = 901) 532 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in reference namelist', lwp ) 533 534 READ ( numnam_cfg, nambdy_dta, IOSTAT = ios, ERR = 902 ) 535 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist', lwp ) 534 IF(lwm) THEN 535 READ ( numnam_ref, nambdy_dta, IOSTAT = ios, ERR = 901) 536 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in reference namelist', lwm ) 537 READ ( numnam_cfg, nambdy_dta, IOSTAT = ios, ERR = 902 ) 538 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist', lwm ) 539 ENDIF 540 536 541 IF(lwm) WRITE ( numond, nambdy_dta ) 542 543 CALL dta_namelist(cn_dir, bn_tem, bn_sal, bn_u3d, bn_v3d, bn_ssh, bn_u2d, bn_v2d, ln_full_vel) 544 545 #if defined key_lim2 546 CALL lim_namelist(bn_frld, bn_hicif, bn_hsnif) 547 #elif defined key_lim3 548 CALL lim_namelist(bn_a_i, bn_ht_i, bn_ht_s) 549 #endif 537 550 538 551 cn_dir_array(ib_bdy) = cn_dir … … 899 912 900 913 END SUBROUTINE bdy_dta_init 914 915 SUBROUTINE dta_namelist(cd_dir, bd_tem, bd_sal, bd_u3d, bd_v3d, bd_ssh, & 916 & bd_u2d, bd_v2d, ln_full_vel) 917 !!--------------------------------------------------------------------- 918 !! *** ROUTINE dta_namelist *** 919 !! 920 !! ** Purpose : Broadcast namelist variables read by procesor lwm 921 !! 922 !! ** Method : use lib_mpp 923 !!---------------------------------------------------------------------- 924 CHARACTER(len=100) :: cd_dir 925 TYPE(FLD_N) :: bd_tem, bd_sal, bd_u3d, bd_v3d ! 926 TYPE(FLD_N) :: bd_ssh, bd_u2d, bd_v2d 927 #if defined key_mpp_mpi 928 CALL mpp_bcast(cd_dir, 100) 929 CALL fld_n_bcast(bd_tem) 930 CALL fld_n_bcast(bd_sal) 931 CALL fld_n_bcast(bd_u3d) 932 CALL fld_n_bcast(bd_v3d) 933 CALL fld_n_bcast(bd_ssh) 934 CALL fld_n_bcast(bd_u2d) 935 CALL fld_n_bcast(bd_v2d) 936 CALL mpp_bcast(ln_bdy_sio) 937 CALL mpp_bcast(ln_full_vel) 938 #endif 939 END SUBROUTINE dta_namelist 940 941 SUBROUTINE lim_namelist(bd_1, bd_2, bd_3) 942 !!--------------------------------------------------------------------- 943 !! *** ROUTINE lim_namelist *** 944 !! 945 !! ** Purpose : Broadcast namelist variables read by procesor lwm 946 !! 947 !! ** Method : use lib_mpp 948 !!---------------------------------------------------------------------- 949 TYPE(FLD_N) :: bd_1, bd_2, bd_3 950 #if defined key_mpp_mpi 951 CALL fld_n_bcast(bd_1) 952 CALL fld_n_bcast(bd_2) 953 CALL fld_n_bcast(bd_3) 954 #endif 955 END SUBROUTINE lim_namelist 901 956 902 957 #else -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/BDY/bdyini.F90
r6487 r9366 37 37 38 38 PUBLIC bdy_init ! routine called in nemo_init 39 PRIVATE bdy_namelist, index_namelist 39 40 40 41 INTEGER, PARAMETER :: jp_nseg = 100 … … 123 124 ! Read namelist parameters 124 125 ! ------------------------ 125 126 REWIND( numnam_ref ) ! Namelist nambdy in reference namelist :Unstructured open boundaries 127 READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 901) 128 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist', lwp ) 129 130 REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist :Unstructured open boundaries 131 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 ) 132 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwp ) 126 IF(lwm) THEN 127 REWIND( numnam_ref ) ! Namelist nambdy in reference namelist :Unstructured open boundaries 128 READ ( numnam_ref, nambdy, IOSTAT = ios, ERR = 901) 129 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in reference namelist', lwm ) 130 REWIND( numnam_cfg ) ! Namelist nambdy in configuration namelist :Unstructured open boundaries 131 READ ( numnam_cfg, nambdy, IOSTAT = ios, ERR = 902 ) 132 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy in configuration namelist', lwm ) 133 ENDIF 134 133 135 IF(lwm) WRITE ( numond, nambdy ) 136 137 CALL bdy_namelist() 134 138 135 139 ! ----------------------------------------- … … 390 394 ! Work out global dimensions of boundary data 391 395 ! --------------------------------------------- 392 REWIND( numnam_cfg ) 396 IF(lwm) THEN 397 REWIND( numnam_cfg ) 398 ENDIF 393 399 394 400 !!---------------------------------------------------------------------- … … 418 424 419 425 !! REWIND( numnam_cfg ) ! Namelist nambdy_index in configuration namelist : Open boundaries indexes 420 READ ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 ) 421 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist', lwp ) 426 IF(lwm) THEN 427 READ ( numnam_cfg, nambdy_index, IOSTAT = ios, ERR = 904 ) 428 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_index in configuration namelist', lwm ) 429 ENDIF 422 430 IF(lwm) WRITE ( numond, nambdy_index ) 431 432 CALL index_namelist() 423 433 424 434 SELECT CASE ( TRIM(ctypebdy) ) … … 1762 1772 END SUBROUTINE bdy_ctl_corn 1763 1773 1774 SUBROUTINE bdy_namelist() 1775 !!--------------------------------------------------------------------- 1776 !! *** ROUTINE bdy_namelist *** 1777 !! 1778 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1779 !! 1780 !! ** Method : use lib_mpp 1781 !!---------------------------------------------------------------------- 1782 #if defined key_mpp_mpi 1783 CALL mpp_bcast(nb_bdy) 1784 CALL mpp_bcast(ln_coords_file) 1785 CALL mpp_bcast(cn_coords_file, 80) 1786 CALL mpp_bcast(ln_mask_file) 1787 CALL mpp_bcast(cn_mask_file, 80) 1788 CALL mpp_bcast(cn_dyn2d, 20) 1789 CALL mpp_bcast(nn_dyn2d_dta) 1790 CALL mpp_bcast(cn_dyn3d, 20) 1791 CALL mpp_bcast(nn_dyn3d_dta) 1792 CALL mpp_bcast(cn_tra, 20) 1793 CALL mpp_bcast(nn_tra_dta) 1794 CALL mpp_bcast(ln_tra_dmp) 1795 CALL mpp_bcast(ln_dyn3d_dmp) 1796 CALL mpp_bcast(rn_time_dmp) 1797 CALL mpp_bcast(rn_time_dmp_out) 1798 CALL mpp_bcast(cn_ice_lim, 20) 1799 CALL mpp_bcast(nn_ice_lim_dta) 1800 CALL mpp_bcast(rn_ice_tem) 1801 CALL mpp_bcast(rn_ice_sal) 1802 CALL mpp_bcast(rn_ice_age) 1803 CALL mpp_bcast(ln_vol) 1804 CALL mpp_bcast(nn_volctl) 1805 CALL mpp_bcast(nn_rimwidth) 1806 #endif 1807 END SUBROUTINE bdy_namelist 1808 1809 SUBROUTINE index_namelist() 1810 !!--------------------------------------------------------------------- 1811 !! *** ROUTINE index_namelist *** 1812 !! 1813 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1814 !! 1815 !! ** Method : use lib_mpp 1816 !!---------------------------------------------------------------------- 1817 #if defined key_mpp_mpi 1818 CALL mpp_bcast(ctypebdy, 1) 1819 CALL mpp_bcast(nbdyind) 1820 CALL mpp_bcast(nbdybeg) 1821 CALL mpp_bcast(nbdyend) 1822 #endif 1823 END SUBROUTINE index_namelist 1824 1764 1825 #else 1765 1826 !!--------------------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/BDY/bdytides.F90
r6487 r9366 41 41 PUBLIC bdytide_update ! routine called in bdy_dta 42 42 PUBLIC bdy_dta_tides ! routine called in dyn_spg_ts 43 PRIVATE tide_namelist 43 44 44 45 TYPE, PUBLIC :: TIDES_DATA !: Storage for external tidal harmonics data … … 101 102 ENDIF 102 103 103 REWIND(numnam_cfg)104 IF(lwm) REWIND(numnam_cfg) 104 105 105 106 DO ib_bdy = 1, nb_bdy … … 114 115 115 116 ! Don't REWIND here - may need to read more than one of these namelists. 116 READ ( numnam_ref, nambdy_tide, IOSTAT = ios, ERR = 901) 117 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in reference namelist', lwp ) 118 READ ( numnam_cfg, nambdy_tide, IOSTAT = ios, ERR = 902 ) 119 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in configuration namelist', lwp ) 117 IF(lwm) THEN 118 READ ( numnam_ref, nambdy_tide, IOSTAT = ios, ERR = 901) 119 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in reference namelist', lwm ) 120 READ ( numnam_cfg, nambdy_tide, IOSTAT = ios, ERR = 902 ) 121 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_tide in configuration namelist', lwm ) 122 ENDIF 123 120 124 IF(lwm) WRITE ( numond, nambdy_tide ) 125 126 CALL tide_namelist(filtide) 127 121 128 ! ! Parameter control and print 122 129 IF(lwp) WRITE(numout,*) ' ' … … 605 612 606 613 END SUBROUTINE tide_init_velocities 614 615 SUBROUTINE tide_namelist(cd_filtide) 616 !!--------------------------------------------------------------------- 617 !! *** ROUTINE tide_namelist *** 618 !! 619 !! ** Purpose : Broadcast namelist variables read by procesor lwm 620 !! 621 !! ** Method : use lib_mpp 622 !!---------------------------------------------------------------------- 623 CHARACTER(len=80) :: cd_filtide 624 #if defined key_mpp_mpi 625 CALL mpp_bcast(cd_filtide, 80) 626 CALL mpp_bcast(ln_bdytide_2ddta) 627 CALL mpp_bcast(ln_bdytide_conj 628 #endif 629 END SUBROUTINE tide_namelist 630 607 631 #else 608 632 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/CRS/crsini.F90
r6486 r9366 25 25 26 26 PUBLIC crs_init 27 PRIVATE crs_namelist 27 28 28 29 !! * Substitutions … … 85 86 !--------------------------------------------------------- 86 87 ! 87 88 REWIND( numnam_ref ) ! Namelist namrun in reference namelist : Parameters of the run89 READ ( numnam_ref, namcrs, IOSTAT = ios, ERR = 901)90 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in reference namelist', lwp)91 92 REWIND( numnam_cfg ) ! Namelist namrun in configuration namelist : Parameters of the run93 READ ( numnam_cfg, namcrs, IOSTAT = ios, ERR = 902)94 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in configuration namelist', lwp ) 88 IF(lwm) THEN 89 REWIND( numnam_ref ) ! Namelist namrun in reference namelist : Parameters of the run 90 READ ( numnam_ref, namcrs, IOSTAT = ios, ERR = 901) 91 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in reference namelist', lwm ) 92 REWIND( numnam_cfg ) ! Namelist namrun in configuration namelist : Parameters of the run 93 READ ( numnam_cfg, namcrs, IOSTAT = ios, ERR = 902 ) 94 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcrs in configuration namelist', lwm ) 95 ENDIF 95 96 IF(lwm) WRITE ( numond, namcrs ) 97 98 CALL crs_namelist() 96 99 97 100 IF(lwp) THEN … … 254 257 255 258 END SUBROUTINE crs_init 256 259 260 SUBROUTINE crs_namelist() 261 !!--------------------------------------------------------------------- 262 !! *** ROUTINE crs_namelist *** 263 !! 264 !! ** Purpose : Broadcast namelist variables read by procesor lwm 265 !! 266 !! ** Method : use lib_mpp 267 !!---------------------------------------------------------------------- 268 #if defined key_mpp_mpi 269 CALL mpp_bcast(nn_factx) 270 CALL mpp_bcast(nn_facty) 271 CALL mpp_bcast(nn_binref) 272 CALL mpp_bcast(nn_msh_crs) 273 CALL mpp_bcast(nn_crs_kz) 274 CALL mpp_bcast(ln_crs_wn) 275 #endif 276 END SUBROUTINE crs_namelist 257 277 !!====================================================================== 258 278 -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DIA/diadct.F90
r6486 r9366 59 59 PRIVATE transport 60 60 PRIVATE dia_dct_wri 61 PRIVATE dct_namelist 61 62 62 63 #include "domzgr_substitute.h90" … … 144 145 IF( nn_timing == 1 ) CALL timing_start('dia_dct_init') 145 146 146 REWIND( numnam_ref ) ! Namelist namdct in reference namelist : Diagnostic: transport through sections 147 READ ( numnam_ref, namdct, IOSTAT = ios, ERR = 901) 148 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in reference namelist', lwp ) 149 150 REWIND( numnam_cfg ) ! Namelist namdct in configuration namelist : Diagnostic: transport through sections 151 READ ( numnam_cfg, namdct, IOSTAT = ios, ERR = 902 ) 152 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in configuration namelist', lwp ) 147 IF(lwm) THEN 148 REWIND( numnam_ref ) ! Namelist namdct in reference namelist : Diagnostic: transport through sections 149 READ ( numnam_ref, namdct, IOSTAT = ios, ERR = 901) 150 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in reference namelist', lwm ) 151 REWIND( numnam_cfg ) ! Namelist namdct in configuration namelist : Diagnostic: transport through sections 152 READ ( numnam_cfg, namdct, IOSTAT = ios, ERR = 902 ) 153 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdct in configuration namelist', lwm ) 154 ENDIF 155 153 156 IF(lwm) WRITE ( numond, namdct ) 157 158 CALL dct_namelist() 154 159 155 160 IF( lwp ) THEN … … 1292 1297 END FUNCTION interp 1293 1298 1299 SUBROUTINE dct_namelist() 1300 !!--------------------------------------------------------------------- 1301 !! *** ROUTINE dct_namelist *** 1302 !! 1303 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1304 !! 1305 !! ** Method : use lib_mpp 1306 !!---------------------------------------------------------------------- 1307 #if defined key_mpp_mpi 1308 CALL mpp_bcast(nn_dct) 1309 CALL mpp_bcast(nn_dctwri) 1310 CALL mpp_bcast(nn_secdebug) 1311 #endif 1312 END SUBROUTINE dct_namelist 1313 1294 1314 #else 1295 1315 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DIA/diaharm.F90
r6487 r9366 29 29 IMPLICIT NONE 30 30 PRIVATE 31 PRIVATE harm_namelist 31 32 32 33 LOGICAL, PUBLIC, PARAMETER :: lk_diaharm = .TRUE. … … 88 89 CALL tide_init_Wave 89 90 ! 90 REWIND( numnam_ref ) ! Namelist nam_diaharm in reference namelist : Tidal harmonic analysis 91 READ ( numnam_ref, nam_diaharm, IOSTAT = ios, ERR = 901) 92 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in reference namelist', lwp ) 93 94 REWIND( numnam_cfg ) ! Namelist nam_diaharm in configuration namelist : Tidal harmonic analysis 95 READ ( numnam_cfg, nam_diaharm, IOSTAT = ios, ERR = 902 ) 96 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist', lwp ) 91 IF(lwm) THEN 92 REWIND( numnam_ref ) ! Namelist nam_diaharm in reference namelist : Tidal harmonic analysis 93 READ ( numnam_ref, nam_diaharm, IOSTAT = ios, ERR = 901) 94 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in reference namelist', lwm ) 95 REWIND( numnam_cfg ) ! Namelist nam_diaharm in configuration namelist : Tidal harmonic analysis 96 READ ( numnam_cfg, nam_diaharm, IOSTAT = ios, ERR = 902 ) 97 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_diaharm in configuration namelist', lwm ) 98 ENDIF 99 97 100 IF(lwm) WRITE ( numond, nam_diaharm ) 98 101 ! 102 CALL harm_namelist() 103 99 104 IF(lwp) THEN 100 105 WRITE(numout,*) 'First time step used for analysis: nit000_han= ', nit000_han … … 550 555 END SUBROUTINE SUR_DETERMINE 551 556 557 SUBROUTINE harm_namelist() 558 !!--------------------------------------------------------------------- 559 !! *** ROUTINE harm_namelist *** 560 !! 561 !! ** Purpose : Broadcast namelist variables read by procesor lwm 562 !! 563 !! ** Method : use lib_mpp 564 !!---------------------------------------------------------------------- 565 INTEGER :: il 566 #if defined key_mpp_mpi 567 CALL mpp_bcast(nit000_han) 568 CALL mpp_bcast(nitend_han) 569 CALL mpp_bcast(nstep_han) 570 DO il = 1,jpmax_harmo 571 CALL mpp_bcast(tname(il), 4) 572 ENDDO 573 #endif 574 END SUBROUTINE harm_namelist 552 575 #else 553 576 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DIA/diahsb.F90
r8243 r9366 41 41 PUBLIC dia_hsb_init ! routine called by nemogcm.F90 42 42 PUBLIC dia_hsb_rst ! routine called by step.F90 43 PRIVATE hsb_namelist 43 44 44 45 LOGICAL, PUBLIC :: ln_diahsb !: check the heat and salt budgets … … 353 354 WRITE(numout,*) '~~~~~~~~ ' 354 355 ENDIF 355 356 REWIND( numnam_ref ) ! Namelist namhsb in reference namelist 357 READ ( numnam_ref, namhsb, IOSTAT = ios, ERR = 901) 358 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in reference namelist', lwp ) 359 360 REWIND( numnam_cfg ) ! Namelist namhsb in configuration namelist 361 READ ( numnam_cfg, namhsb, IOSTAT = ios, ERR = 902 ) 362 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in configuration namelist', lwp ) 356 IF(lwm) THEN 357 REWIND( numnam_ref ) ! Namelist namhsb in reference namelist 358 READ ( numnam_ref, namhsb, IOSTAT = ios, ERR = 901) 359 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in reference namelist', lwm ) 360 REWIND( numnam_cfg ) ! Namelist namhsb in configuration namelist 361 READ ( numnam_cfg, namhsb, IOSTAT = ios, ERR = 902 ) 362 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namhsb in configuration namelist', lwm ) 363 ENDIF 364 363 365 IF(lwm) WRITE ( numond, namhsb ) 364 366 367 CALL hsb_namelist() 365 368 ! 366 369 IF(lwp) THEN ! Control print … … 410 413 END SUBROUTINE dia_hsb_init 411 414 415 SUBROUTINE hsb_namelist() 416 !!--------------------------------------------------------------------- 417 !! *** ROUTINE hsb_namelist *** 418 !! 419 !! ** Purpose : Broadcast namelist variables read by procesor lwm 420 !! 421 !! ** Method : use lib_mpp 422 !!---------------------------------------------------------------------- 423 #if defined key_mpp_mpi 424 CALL mpp_bcast(ln_diahsb) 425 #endif 426 END SUBROUTINE hsb_namelist 412 427 !!====================================================================== 413 428 END MODULE diahsb -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DIA/diaptr.F90
r7923 r9366 41 41 PUBLIC dia_ptr ! call in step module 42 42 PUBLIC dia_ptr_ohst_components ! called from tra_ldf/tra_adv routines 43 PRIVATE ptr_namelist 43 44 44 45 ! !!** namelist namptr ** … … 428 429 NAMELIST/namptr/ ln_diaptr, ln_subbas 429 430 !!---------------------------------------------------------------------- 430 431 REWIND( numnam_ref ) ! Namelist namptr in reference namelist : Poleward transport 432 READ ( numnam_ref, namptr, IOSTAT = ios, ERR = 901) 433 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in reference namelist', lwp ) 434 435 REWIND( numnam_cfg ) ! Namelist namptr in configuration namelist : Poleward transport 436 READ ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 437 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist', lwp ) 431 IF(lwm) THEN 432 REWIND( numnam_ref ) ! Namelist namptr in reference namelist : Poleward transport 433 READ ( numnam_ref, namptr, IOSTAT = ios, ERR = 901) 434 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in reference namelist', lwm ) 435 REWIND( numnam_cfg ) ! Namelist namptr in configuration namelist : Poleward transport 436 READ ( numnam_cfg, namptr, IOSTAT = ios, ERR = 902 ) 437 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namptr in configuration namelist', lwm ) 438 ENDIF 439 438 440 IF(lwm) WRITE ( numond, namptr ) 441 442 CALL ptr_namelist() 439 443 440 444 IF(lwp) THEN ! Control print … … 758 762 END FUNCTION ptr_sjk 759 763 760 764 SUBROUTINE ptr_namelist() 765 !!--------------------------------------------------------------------- 766 !! *** ROUTINE ptr_namelist *** 767 !! 768 !! ** Purpose : Broadcast namelist variables read by procesor lwm 769 !! 770 !! ** Method : use lib_mpp 771 !!---------------------------------------------------------------------- 772 #if defined key_mpp_mpi 773 CALL mpp_bcast(ln_diaptr) 774 CALL mpp_bcast(ln_subbas) 775 #endif 776 END SUBROUTINE ptr_namelist 761 777 !!====================================================================== 762 778 END MODULE diaptr -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DOM/domain.F90
r8269 r9366 44 44 45 45 PUBLIC dom_init ! called by opa.F90 46 PRIVATE run_namelist, dom_namelist, cla_namelist 47 #if defined key_netcdf4 48 PRIVATE nc4_namelist 49 #endif 46 50 47 51 !! * Substitutions … … 156 160 ln_xios_read = .false. ! set in case ln_xios_read is not in namelist 157 161 nn_wxios = 0 158 REWIND( numnam_ref ) ! Namelist namrun in reference namelist : Parameters of the run 159 READ ( numnam_ref, namrun, IOSTAT = ios, ERR = 901) 160 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in reference namelist', lwp ) 161 162 REWIND( numnam_cfg ) ! Namelist namrun in configuration namelist : Parameters of the run 163 READ ( numnam_cfg, namrun, IOSTAT = ios, ERR = 902 ) 164 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist', lwp ) 162 IF(lwm) THEN 163 REWIND( numnam_ref ) ! Namelist namrun in reference namelist : Parameters of the run 164 READ ( numnam_ref, namrun, IOSTAT = ios, ERR = 901) 165 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in reference namelist', lwm ) 166 REWIND( numnam_cfg ) ! Namelist namrun in configuration namelist : Parameters of the run 167 READ ( numnam_cfg, namrun, IOSTAT = ios, ERR = 902 ) 168 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namrun in configuration namelist', lwm ) 169 ENDIF 170 165 171 IF(lwm) WRITE ( numond, namrun ) 166 172 ! 173 CALL run_namelist() 174 167 175 IF(lwp) THEN ! control print 168 176 WRITE(numout,*) … … 248 256 ENDIF 249 257 #endif 250 251 REWIND( numnam_ref ) ! Namelist namdom in reference namelist : space & time domain (bathymetry, mesh, timestep) 252 READ ( numnam_ref, namdom, IOSTAT = ios, ERR = 903) 253 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in reference namelist', lwp ) 258 IF(lwm) THEN 259 REWIND( numnam_ref ) ! Namelist namdom in reference namelist : space & time domain (bathymetry, mesh, timestep) 260 READ ( numnam_ref, namdom, IOSTAT = ios, ERR = 903) 261 903 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in reference namelist', lwm ) 262 REWIND( numnam_cfg ) ! Namelist namdom in configuration namelist : space & time domain (bathymetry, mesh, timestep) 263 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 904 ) 264 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwm ) 265 ENDIF 266 267 IF(lwm) WRITE ( numond, namdom ) 254 268 255 ! 256 REWIND( numnam_cfg ) ! Namelist namdom in configuration namelist : space & time domain (bathymetry, mesh, timestep) 257 READ ( numnam_cfg, namdom, IOSTAT = ios, ERR = 904 ) 258 904 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdom in configuration namelist', lwp ) 259 IF(lwm) WRITE ( numond, namdom ) 269 CALL dom_namelist() 260 270 261 271 IF(lwp) THEN … … 314 324 wxioso = nn_wxios 315 325 316 REWIND( numnam_ref ) ! Namelist namcla in reference namelist : Cross land advection 317 READ ( numnam_ref, namcla, IOSTAT = ios, ERR = 905) 318 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in reference namelist', lwp ) 319 320 REWIND( numnam_cfg ) ! Namelist namcla in configuration namelist : Cross land advection 321 READ ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 ) 322 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwp ) 326 IF(lwm) THEN 327 REWIND( numnam_ref ) ! Namelist namcla in reference namelist : Cross land advection 328 READ ( numnam_ref, namcla, IOSTAT = ios, ERR = 905) 329 905 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in reference namelist', lwm ) 330 REWIND( numnam_cfg ) ! Namelist namcla in configuration namelist : Cross land advection 331 READ ( numnam_cfg, namcla, IOSTAT = ios, ERR = 906 ) 332 906 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namcla in configuration namelist', lwm ) 333 ENDIF 323 334 IF(lwm) WRITE( numond, namcla ) 335 336 CALL cla_namelist() 324 337 325 338 IF(lwp) THEN … … 338 351 #if defined key_netcdf4 339 352 ! ! NetCDF 4 case ("key_netcdf4" defined) 340 REWIND( numnam_ref ) ! Namelist namnc4 in reference namelist : NETCDF 341 READ ( numnam_ref, namnc4, IOSTAT = ios, ERR = 907) 342 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in reference namelist', lwp ) 343 344 REWIND( numnam_cfg ) ! Namelist namnc4 in configuration namelist : NETCDF 345 READ ( numnam_cfg, namnc4, IOSTAT = ios, ERR = 908 ) 346 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist', lwp ) 353 IF(lwm) THEN 354 REWIND( numnam_ref ) ! Namelist namnc4 in reference namelist : NETCDF 355 READ ( numnam_ref, namnc4, IOSTAT = ios, ERR = 907) 356 907 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in reference namelist', lwm ) 357 REWIND( numnam_cfg ) ! Namelist namnc4 in configuration namelist : NETCDF 358 READ ( numnam_cfg, namnc4, IOSTAT = ios, ERR = 908 ) 359 908 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namnc4 in configuration namelist', lwm ) 360 ENDIF 361 347 362 IF(lwm) WRITE( numond, namnc4 ) 363 364 CALL nc4_namelist() 348 365 349 366 IF(lwp) THEN ! control print … … 479 496 END SUBROUTINE dom_stiff 480 497 481 482 498 SUBROUTINE run_namelist() 499 !!--------------------------------------------------------------------- 500 !! *** ROUTINE run_namelist *** 501 !! 502 !! ** Purpose : Broadcast namelist variables read by procesor lwm 503 !! 504 !! ** Method : use lib_mpp 505 !!---------------------------------------------------------------------- 506 #if defined key_mpp_mpi 507 CALL mpp_bcast(cn_ocerst_indir, lc) 508 CALL mpp_bcast(cn_ocerst_outdir, lc) 509 CALL mpp_bcast(nn_stocklist, 10) 510 CALL mpp_bcast(ln_rst_list) 511 CALL mpp_bcast(nn_no) 512 CALL mpp_bcast(cn_exp, lc) 513 CALL mpp_bcast(cn_ocerst_in, lc) 514 CALL mpp_bcast(cn_ocerst_out, lc) 515 CALL mpp_bcast(ln_rstart) 516 CALL mpp_bcast(ln_rstdate) 517 CALL mpp_bcast(nn_rstctl) 518 CALL mpp_bcast(nn_it000) 519 CALL mpp_bcast(nn_itend) 520 CALL mpp_bcast(nn_date0) 521 CALL mpp_bcast(nn_leapy) 522 CALL mpp_bcast(nn_istate) 523 CALL mpp_bcast(nn_stock) 524 CALL mpp_bcast(nn_write) 525 CALL mpp_bcast(ln_dimgnnn) 526 CALL mpp_bcast(ln_mskland) 527 CALL mpp_bcast(ln_cfmeta) 528 CALL mpp_bcast(ln_clobber) 529 CALL mpp_bcast(nn_chunksz) 530 CALL mpp_bcast(nn_euler) 531 CALL mpp_bcast(ln_xios_read) 532 CALL mpp_bcast(nn_wxios) 533 #endif 534 END SUBROUTINE run_namelist 535 536 SUBROUTINE dom_namelist() 537 !!--------------------------------------------------------------------- 538 !! *** ROUTINE dom_namelist *** 539 !! 540 !! ** Purpose : Broadcast namelist variables read by procesor lwm 541 !! 542 !! ** Method : use lib_mpp 543 !!---------------------------------------------------------------------- 544 #if defined key_mpp_mpi 545 CALL mpp_bcast(nn_bathy) 546 CALL mpp_bcast(rn_bathy) 547 CALL mpp_bcast(rn_e3zps_min) 548 CALL mpp_bcast(rn_e3zps_rat) 549 CALL mpp_bcast(nn_msh) 550 CALL mpp_bcast(rn_hmin) 551 CALL mpp_bcast(nn_acc) 552 CALL mpp_bcast(rn_atfp) 553 CALL mpp_bcast(rn_rdt) 554 CALL mpp_bcast(rn_rdtmin) 555 CALL mpp_bcast(rn_rdtmax) 556 CALL mpp_bcast(rn_rdth) 557 CALL mpp_bcast(nn_closea) 558 CALL mpp_bcast(ln_crs) 559 CALL mpp_bcast(jphgr_msh) 560 CALL mpp_bcast(ppglam0) 561 CALL mpp_bcast(ppgphi0) 562 CALL mpp_bcast(ppe1_deg) 563 CALL mpp_bcast(ppe2_deg) 564 CALL mpp_bcast(ppe1_m) 565 CALL mpp_bcast(ppe2_m) 566 CALL mpp_bcast(ppsur) 567 CALL mpp_bcast(ppa0) 568 CALL mpp_bcast(ppa1) 569 CALL mpp_bcast(ppkth) 570 CALL mpp_bcast(ppacr) 571 CALL mpp_bcast(ppdzmin) 572 CALL mpp_bcast(pphmax) 573 CALL mpp_bcast(ldbletanh) 574 CALL mpp_bcast(ppa2) 575 CALL mpp_bcast(ppkth2) 576 CALL mpp_bcast(ppacr2) 577 #endif 578 END SUBROUTINE dom_namelist 579 580 SUBROUTINE cla_namelist() 581 !!--------------------------------------------------------------------- 582 !! *** ROUTINE cla_namelist *** 583 !! 584 !! ** Purpose : Broadcast namelist variables read by procesor lwm 585 !! 586 !! ** Method : use lib_mpp 587 !!---------------------------------------------------------------------- 588 #if defined key_mpp_mpi 589 CALL mpp_bcast(nn_cla) 590 #endif 591 END SUBROUTINE cla_namelist 592 593 #if defined key_netcdf4 594 SUBROUTINE nc4_namelist() 595 !!--------------------------------------------------------------------- 596 !! *** ROUTINE nc4_namelist *** 597 !! 598 !! ** Purpose : Broadcast namelist variables read by procesor lwm 599 !! 600 !! ** Method : use lib_mpp 601 !!---------------------------------------------------------------------- 602 #if defined key_mpp_mpi 603 CALL mpp_bcast(nn_nchunks_i) 604 CALL mpp_bcast(nn_nchunks_j) 605 CALL mpp_bcast(nn_nchunks_k) 606 CALL mpp_bcast(ln_nc4zip) 607 #endif 608 END SUBROUTINE nc4_namelist 609 #endif 483 610 !!====================================================================== 484 611 END MODULE domain -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DOM/dommsk.F90
r6491 r9366 37 37 PUBLIC dom_msk ! routine called by inidom.F90 38 38 PUBLIC dom_msk_alloc ! routine called by nemogcm.F90 39 PRIVATE msk_namelist 39 40 40 41 ! !!* Namelist namlbc : lateral boundary condition * … … 147 148 CALL wrk_alloc( jpi, jpj, zwf ) 148 149 ! 149 REWIND( numnam_ref ) ! Namelist namlbc in reference namelist : Lateral momentum boundary condition 150 READ ( numnam_ref, namlbc, IOSTAT = ios, ERR = 901 ) 151 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in reference namelist', lwp ) 152 153 REWIND( numnam_cfg ) ! Namelist namlbc in configuration namelist : Lateral momentum boundary condition 154 READ ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 ) 155 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist', lwp ) 150 IF(lwm) THEN 151 REWIND( numnam_ref ) ! Namelist namlbc in reference namelist : Lateral momentum boundary condition 152 READ ( numnam_ref, namlbc, IOSTAT = ios, ERR = 901 ) 153 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in reference namelist', lwm ) 154 REWIND( numnam_cfg ) ! Namelist namlbc in configuration namelist : Lateral momentum boundary condition 155 READ ( numnam_cfg, namlbc, IOSTAT = ios, ERR = 902 ) 156 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namlbc in configuration namelist', lwm ) 157 ENDIF 158 156 159 IF(lwm) WRITE ( numond, namlbc ) 157 160 161 CALL msk_namelist() 162 158 163 IF(lwp) THEN ! control print 159 164 WRITE(numout,*) … … 717 722 END SUBROUTINE dom_msk_nsa 718 723 #endif 719 724 725 SUBROUTINE msk_namelist() 726 !!--------------------------------------------------------------------- 727 !! *** ROUTINE msk_namelist *** 728 !! 729 !! ** Purpose : Broadcast namelist variables read by procesor lwm 730 !! 731 !! ** Method : use lib_mpp 732 !!---------------------------------------------------------------------- 733 #if defined key_mpp_mpi 734 CALL mpp_bcast(rn_shlat) 735 CALL mpp_bcast( ln_vorlat) 736 #endif 737 END SUBROUTINE msk_namelist 738 720 739 !!====================================================================== 721 740 END MODULE dommsk -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DOM/domvvl.F90
r8243 r9366 44 44 PUBLIC dom_vvl_interpol ! called by dynnxt.F90 45 45 PRIVATE dom_vvl_orca_fix ! called by dom_vvl_interpol 46 PRIVATE dom_namelist 46 47 47 48 !!* Namelist nam_vvl … … 948 949 & rn_lf_cutoff , rn_zdef_max , ln_vvl_dbg ! not yet implemented: ln_vvl_kepe 949 950 !!---------------------------------------------------------------------- 950 951 REWIND( numnam_ref ) ! Namelist nam_vvl in reference namelist :952 READ ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901)953 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist', lwp)954 955 REWIND( numnam_cfg ) ! Namelist nam_vvl in configuration namelist : Parameters of the run956 READ ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902)957 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwp ) 951 IF(lwm) THEN 952 REWIND( numnam_ref ) ! Namelist nam_vvl in reference namelist : 953 READ ( numnam_ref, nam_vvl, IOSTAT = ios, ERR = 901) 954 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in reference namelist', lwm ) 955 REWIND( numnam_cfg ) ! Namelist nam_vvl in configuration namelist : Parameters of the run 956 READ ( numnam_cfg, nam_vvl, IOSTAT = ios, ERR = 902 ) 957 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_vvl in configuration namelist', lwm ) 958 ENDIF 958 959 IF(lwm) WRITE ( numond, nam_vvl ) 960 961 CALL dom_namelist() 959 962 960 963 IF(lwp) THEN ! Namelist print … … 1407 1410 END SUBROUTINE dom_vvl_orca_fix 1408 1411 1412 SUBROUTINE dom_namelist() 1413 !!--------------------------------------------------------------------- 1414 !! *** ROUTINE dom_namelist *** 1415 !! 1416 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1417 !! 1418 !! ** Method : use lib_mpp 1419 !!---------------------------------------------------------------------- 1420 #if defined key_mpp_mpi 1421 CALL mpp_bcast(ln_vvl_zstar) 1422 CALL mpp_bcast(ln_vvl_ztilde) 1423 CALL mpp_bcast(ln_vvl_layer) 1424 CALL mpp_bcast(ln_vvl_ztilde_as_zstar) 1425 CALL mpp_bcast(ln_vvl_zstar_at_eqtor) 1426 CALL mpp_bcast(rn_ahe3) 1427 CALL mpp_bcast(rn_rst_e3t) 1428 CALL mpp_bcast(rn_lf_cutoff) 1429 CALL mpp_bcast(rn_zdef_max) 1430 CALL mpp_bcast(ln_vvl_dbg) 1431 #endif 1432 END SUBROUTINE dom_namelist 1409 1433 !!====================================================================== 1410 1434 END MODULE domvvl -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DOM/domzgr.F90
r6487 r9366 49 49 50 50 PUBLIC dom_zgr ! called by dom_init.F90 51 PRIVATE zgr_namelist 51 52 52 53 ! !!* Namelist namzgr_sco * … … 107 108 IF( nn_timing == 1 ) CALL timing_start('dom_zgr') 108 109 ! 109 REWIND( numnam_ref ) ! Namelist namzgr in reference namelist : Vertical coordinate 110 READ ( numnam_ref, namzgr, IOSTAT = ios, ERR = 901 ) 110 IF(lwm) THEN 111 REWIND( numnam_ref ) ! Namelist namzgr in reference namelist : Vertical coordinate 112 READ ( numnam_ref, namzgr, IOSTAT = ios, ERR = 901 ) 113 ENDIF 111 114 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in reference namelist', lwp ) 112 113 REWIND( numnam_cfg ) ! Namelist namzgr in configuration namelist : Vertical coordinate 114 READ ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 115 IF(lwp) THEN 116 REWIND( numnam_cfg ) ! Namelist namzgr in configuration namelist : Vertical coordinate 117 READ ( numnam_cfg, namzgr, IOSTAT = ios, ERR = 902 ) 118 ENDIF 115 119 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr in configuration namelist', lwp ) 116 120 IF(lwm) WRITE ( numond, namzgr ) … … 1822 1826 CALL wrk_alloc( jpi, jpj, zenv, ztmp, zmsk, zri, zrj, zhbat , ztmpi1, ztmpi2, ztmpj1, ztmpj2 ) 1823 1827 ! 1824 REWIND( numnam_ref ) ! Namelist namzgr_sco in reference namelist : Sigma-stretching parameters 1825 READ ( numnam_ref, namzgr_sco, IOSTAT = ios, ERR = 901) 1826 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr_sco in reference namelist', lwp ) 1827 1828 REWIND( numnam_cfg ) ! Namelist namzgr_sco in configuration namelist : Sigma-stretching parameters 1829 READ ( numnam_cfg, namzgr_sco, IOSTAT = ios, ERR = 902 ) 1830 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr_sco in configuration namelist', lwp ) 1828 IF(lwm) THEN 1829 REWIND( numnam_ref ) ! Namelist namzgr_sco in reference namelist : Sigma-stretching parameters 1830 READ ( numnam_ref, namzgr_sco, IOSTAT = ios, ERR = 901) 1831 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr_sco in reference namelist', lwm ) 1832 REWIND( numnam_cfg ) ! Namelist namzgr_sco in configuration namelist : Sigma-stretching parameters 1833 READ ( numnam_cfg, namzgr_sco, IOSTAT = ios, ERR = 902 ) 1834 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzgr_sco in configuration namelist', lwm ) 1835 ENDIF 1831 1836 IF(lwm) WRITE ( numond, namzgr_sco ) 1837 1838 CALL sco_namelist() 1832 1839 1833 1840 IF(lwp) THEN ! control print … … 2654 2661 END FUNCTION fgamma 2655 2662 2663 SUBROUTINE zgr_namelist() 2664 !!--------------------------------------------------------------------- 2665 !! *** ROUTINE zgr_namelist *** 2666 !! 2667 !! ** Purpose : Broadcast namelist variables read by procesor lwm 2668 !! 2669 !! ** Method : use lib_mpp 2670 !!---------------------------------------------------------------------- 2671 #if defined key_mpp_mpi 2672 CALL mpp_bcast(ln_zco) 2673 CALL mpp_bcast(ln_zps) 2674 CALL mpp_bcast(ln_sco) 2675 CALL mpp_bcast(ln_isfcav) 2676 #endif 2677 END SUBROUTINE zgr_namelist 2678 2679 SUBROUTINE sco_namelist() 2680 !!--------------------------------------------------------------------- 2681 !! *** ROUTINE sco_namelist *** 2682 !! 2683 !! ** Purpose : Broadcast namelist variables read by procesor lwm 2684 !! 2685 !! ** Method : use lib_mpp 2686 !!---------------------------------------------------------------------- 2687 #if defined key_mpp_mpi 2688 CALL mpp_bcast(ln_s_sh94) 2689 CALL mpp_bcast(ln_s_sf12) 2690 CALL mpp_bcast(ln_sigcrit) 2691 CALL mpp_bcast(rn_sbot_min) 2692 CALL mpp_bcast(rn_sbot_max) 2693 CALL mpp_bcast(rn_hc) 2694 CALL mpp_bcast(rn_rmax) 2695 CALL mpp_bcast(rn_theta) 2696 CALL mpp_bcast(rn_thetb) 2697 CALL mpp_bcast(rn_bb) 2698 CALL mpp_bcast(rn_alpha) 2699 CALL mpp_bcast(rn_efold) 2700 CALL mpp_bcast(rn_zs) 2701 CALL mpp_bcast(rn_zb_a) 2702 CALL mpp_bcast(rn_zb_b) 2703 #endif 2704 END SUBROUTINE sco_namelist 2656 2705 !!====================================================================== 2657 2706 END MODULE domzgr -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DOM/dtatsd.F90
r8243 r9366 30 30 PUBLIC dta_tsd_init ! called by opa.F90 31 31 PUBLIC dta_tsd ! called by istate.F90 and tradmp.90 32 PRIVATE tsd_namelist 32 33 33 34 LOGICAL , PUBLIC :: ln_tsd_init !: T & S data flag … … 73 74 ! 74 75 ln_tsd_sio = .FALSE. 75 REWIND( numnam_ref ) ! Namelist namtsd in reference namelist : 76 READ ( numnam_ref, namtsd, IOSTAT = ios, ERR = 901) 77 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in reference namelist', lwp ) 78 79 REWIND( numnam_cfg ) ! Namelist namtsd in configuration namelist : Parameters of the run 80 READ ( numnam_cfg, namtsd, IOSTAT = ios, ERR = 902 ) 81 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in configuration namelist', lwp ) 76 IF(lwm) THEN 77 REWIND( numnam_ref ) ! Namelist namtsd in reference namelist : 78 READ ( numnam_ref, namtsd, IOSTAT = ios, ERR = 901) 79 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in reference namelist', lwm ) 80 REWIND( numnam_cfg ) ! Namelist namtsd in configuration namelist : Parameters of the run 81 READ ( numnam_cfg, namtsd, IOSTAT = ios, ERR = 902 ) 82 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtsd in configuration namelist', lwm ) 83 ENDIF 82 84 IF(lwm) WRITE ( numond, namtsd ) 85 86 call tsd_namelist(cn_dir, sn_tem, sn_sal) 83 87 84 88 IF( PRESENT( ld_tradmp ) ) ln_tsd_tradmp = .TRUE. ! forces the initialization when tradmp is used … … 315 319 END SUBROUTINE dta_tsd 316 320 321 SUBROUTINE tsd_namelist(cd_dir, sd_tem, sd_sal) 322 !!--------------------------------------------------------------------- 323 !! *** ROUTINE tsd_namelist *** 324 !! 325 !! ** Purpose : Broadcast namelist variables read by procesor lwm 326 !! 327 !! ** Method : use lib_mpp 328 !!---------------------------------------------------------------------- 329 CHARACTER(len=100) :: cd_dir ! Root directory for location of ssr files 330 TYPE(FLD_N) :: sd_tem, sd_sal 331 #if defined key_mpp_mpi 332 CALL mpp_bcast(ln_tsd_init) 333 CALL mpp_bcast(ln_tsd_tradmp) 334 CALL mpp_bcast(cd_dir, 100) 335 CALL fld_n_bcast(sd_tem) 336 CALL fld_n_bcast(sd_sal) 337 CALL mpp_bcast(ln_tsd_sio) 338 #endif 339 END SUBROUTINE tsd_namelist 340 317 341 !!====================================================================== 318 342 END MODULE dtatsd -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DYN/dynadv.F90
r6486 r9366 28 28 PUBLIC dyn_adv ! routine called by step module 29 29 PUBLIC dyn_adv_init ! routine called by opa module 30 PRIVATE adv_namelist 30 31 31 32 ! !* namdyn_adv namelist * … … 101 102 !!---------------------------------------------------------------------- 102 103 ! 103 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 104 READ ( numnam_ref, namdyn_adv, IOSTAT = ios, ERR = 901) 105 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist', lwp ) 104 IF(lwm) THEN 105 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 106 READ ( numnam_ref, namdyn_adv, IOSTAT = ios, ERR = 901) 107 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in reference namelist', lwm ) 108 REWIND( numnam_cfg ) ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme 109 READ ( numnam_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 ) 110 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist', lwm ) 111 ENDIF 106 112 107 REWIND( numnam_cfg ) ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme108 READ ( numnam_cfg, namdyn_adv, IOSTAT = ios, ERR = 902 )109 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_adv in configuration namelist', lwp )110 113 IF(lwm) WRITE ( numond, namdyn_adv ) 114 115 CALL adv_namelist() 111 116 112 117 IF(lwp) THEN ! Namelist print … … 156 161 END SUBROUTINE dyn_adv_init 157 162 163 SUBROUTINE adv_namelist() 164 !!--------------------------------------------------------------------- 165 !! *** ROUTINE adv_namelist *** 166 !! 167 !! ** Purpose : Broadcast namelist variables read by procesor lwm 168 !! 169 !! ** Method : use lib_mpp 170 !!---------------------------------------------------------------------- 171 #if defined key_mpp_mpi 172 CALL mpp_bcast(ln_dynadv_vec) 173 CALL mpp_bcast(nn_dynkeg) 174 CALL mpp_bcast(ln_dynadv_cen2) 175 CALL mpp_bcast(ln_dynadv_ubs) 176 CALL mpp_bcast(ln_dynzad_zts) 177 #endif 178 END SUBROUTINE adv_namelist 158 179 !!====================================================================== 159 180 END MODULE dynadv -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DYN/dynhpg.F90
r6486 r9366 50 50 PUBLIC dyn_hpg ! routine called by step module 51 51 PUBLIC dyn_hpg_init ! routine called by opa module 52 PRIVATE hpg_namelist 52 53 53 54 ! !!* Namelist namdyn_hpg : hydrostatic pressure gradient … … 135 136 !!---------------------------------------------------------------------- 136 137 ! 137 REWIND( numnam_ref ) ! Namelist namdyn_hpg in reference namelist : Hydrostatic pressure gradient 138 READ ( numnam_ref, namdyn_hpg, IOSTAT = ios, ERR = 901) 139 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in reference namelist', lwp ) 140 141 REWIND( numnam_cfg ) ! Namelist namdyn_hpg in configuration namelist : Hydrostatic pressure gradient 142 READ ( numnam_cfg, namdyn_hpg, IOSTAT = ios, ERR = 902 ) 143 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist', lwp ) 138 IF(lwm) THEN 139 REWIND( numnam_ref ) ! Namelist namdyn_hpg in reference namelist : Hydrostatic pressure gradient 140 READ ( numnam_ref, namdyn_hpg, IOSTAT = ios, ERR = 901) 141 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in reference namelist', lwm ) 142 REWIND( numnam_cfg ) ! Namelist namdyn_hpg in configuration namelist : Hydrostatic pressure gradient 143 READ ( numnam_cfg, namdyn_hpg, IOSTAT = ios, ERR = 902 ) 144 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_hpg in configuration namelist', lwm ) 145 ENDIF 146 144 147 IF(lwm) WRITE ( numond, namdyn_hpg ) 145 148 ! 149 CALL hpg_namelist() 150 146 151 IF(lwp) THEN ! Control print 147 152 WRITE(numout,*) … … 1420 1425 END FUNCTION integ_spline 1421 1426 1427 SUBROUTINE hpg_namelist() 1428 !!--------------------------------------------------------------------- 1429 !! *** ROUTINE hpg_namelist *** 1430 !! 1431 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1432 !! 1433 !! ** Method : use lib_mpp 1434 !!---------------------------------------------------------------------- 1435 #if defined key_mpp_mpi 1436 CALL mpp_bcast(ln_hpg_zco) 1437 CALL mpp_bcast(ln_hpg_zps) 1438 CALL mpp_bcast(ln_hpg_sco) 1439 CALL mpp_bcast(ln_hpg_djc) 1440 CALL mpp_bcast(ln_hpg_prj) 1441 CALL mpp_bcast(ln_hpg_isf) 1442 CALL mpp_bcast(ln_dynhpg_imp) 1443 #endif 1444 END SUBROUTINE hpg_namelist 1445 1422 1446 !!====================================================================== 1423 1447 END MODULE dynhpg -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DYN/dynnept.F90
r6486 r9366 40 40 !! dyn_nept_div_cur_init is called only by dyn_nept_init, within this module 41 41 !! dyn_nept_vel is called only by dyn_nept_cor, within this module 42 PRIVATE nept_namelist 42 43 43 44 !! * Shared module variables … … 118 119 ! Define the (simplified) Neptune parameters 119 120 ! ========================================== 120 121 REWIND( numnam_ref ) ! Namelist namdyn_nept in reference namelist : Simplified Neptune 122 READ ( numnam_ref, namdyn_nept, IOSTAT = ios, ERR = 901) 123 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in reference namelist', lwp ) 124 125 REWIND( numnam_cfg ) ! Namelist namdyn_nept in reference namelist : Simplified Neptune 126 READ ( numnam_cfg, namdyn_nept, IOSTAT = ios, ERR = 902 ) 127 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in configuration namelist', lwp ) 121 IF(lwm) THEN 122 REWIND( numnam_ref ) ! Namelist namdyn_nept in reference namelist : Simplified Neptune 123 READ ( numnam_ref, namdyn_nept, IOSTAT = ios, ERR = 901) 124 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in reference namelist', lwm ) 125 REWIND( numnam_cfg ) ! Namelist namdyn_nept in reference namelist : Simplified Neptune 126 READ ( numnam_cfg, namdyn_nept, IOSTAT = ios, ERR = 902 ) 127 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_nept in configuration namelist', lwm ) 128 ENDIF 129 128 130 IF(lwm) WRITE ( numond, namdyn_nept ) 131 132 CALL nept_namelist() 129 133 130 134 IF(lwp) THEN ! Control print … … 595 599 END SUBROUTINE dyn_nept_smooth_vel 596 600 601 SUBROUTINE nept_namelist() 602 !!--------------------------------------------------------------------- 603 !! *** ROUTINE nept_namelist *** 604 !! 605 !! ** Purpose : Broadcast namelist variables read by procesor lwm 606 !! 607 !! ** Method : use lib_mpp 608 !!---------------------------------------------------------------------- 609 #if defined key_mpp_mpi 610 CALL mpp_bcast(ln_neptsimp) 611 CALL mpp_bcast(ln_smooth_neptvel) 612 CALL mpp_bcast(rn_tslse) 613 CALL mpp_bcast(rn_tslsp) 614 CALL mpp_bcast(ln_neptramp) 615 CALL mpp_bcast(rn_htrmin) 616 CALL mpp_bcast(rn_htrmax) 617 #endif 618 END SUBROUTINE nept_namelist 597 619 END MODULE dynnept -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DYN/dynspg_ts.F90
r8243 r9366 58 58 PUBLIC dyn_spg_ts_init ! " " " " 59 59 PUBLIC ts_rst ! " " " " 60 PRIVATE ts_namelist 60 61 61 62 INTEGER, SAVE :: icycle ! Number of barotropic sub-steps for each internal step nn_baro <= 2.5 nn_baro … … 1081 1082 !!---------------------------------------------------------------------- 1082 1083 ! 1083 REWIND( numnam_ref ) ! Namelist namsplit in reference namelist : time splitting parameters 1084 READ ( numnam_ref, namsplit, IOSTAT = ios, ERR = 901) 1085 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsplit in reference namelist', lwp ) 1086 1087 REWIND( numnam_cfg ) ! Namelist namsplit in configuration namelist : time splitting parameters 1088 READ ( numnam_cfg, namsplit, IOSTAT = ios, ERR = 902 ) 1089 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsplit in configuration namelist', lwp ) 1084 IF(lwm) THEN 1085 REWIND( numnam_ref ) ! Namelist namsplit in reference namelist : time splitting parameters 1086 READ ( numnam_ref, namsplit, IOSTAT = ios, ERR = 901) 1087 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsplit in reference namelist', lwm ) 1088 REWIND( numnam_cfg ) ! Namelist namsplit in configuration namelist : time splitting parameters 1089 READ ( numnam_cfg, namsplit, IOSTAT = ios, ERR = 902 ) 1090 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsplit in configuration namelist', lwm ) 1091 ENDIF 1092 1090 1093 IF(lwm) WRITE ( numond, namsplit ) 1094 1095 CALL ts_namelist() 1096 1091 1097 ! 1092 1098 ! ! Max courant number for ext. grav. waves … … 1172 1178 ! 1173 1179 END SUBROUTINE dyn_spg_ts_init 1180 1181 SUBROUTINE ts_namelist() 1182 !!--------------------------------------------------------------------- 1183 !! *** ROUTINE ts_namelist *** 1184 !! 1185 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1186 !! 1187 !! ** Method : use lib_mpp 1188 !!---------------------------------------------------------------------- 1189 #if defined key_mpp_mpi 1190 CALL mpp_bcast(ln_bt_fw) 1191 CALL mpp_bcast(ln_bt_av) 1192 CALL mpp_bcast(ln_bt_nn_auto) 1193 CALL mpp_bcast(nn_baro) 1194 CALL mpp_bcast(rn_bt_cmax) 1195 CALL mpp_bcast(nn_bt_flt) 1196 #endif 1197 END SUBROUTINE ts_namelist 1174 1198 1175 1199 #else -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DYN/dynvor.F90
r6486 r9366 45 45 PUBLIC dyn_vor ! routine called by step.F90 46 46 PUBLIC dyn_vor_init ! routine called by opa.F90 47 PRIVATE vor_namelist 47 48 48 49 ! !!* Namelist namdyn_vor: vorticity term … … 722 723 NAMELIST/namdyn_vor/ ln_dynvor_ens, ln_dynvor_ene, ln_dynvor_mix, ln_dynvor_een, ln_dynvor_een_old 723 724 !!---------------------------------------------------------------------- 724 725 REWIND( numnam_ref ) ! Namelist namdyn_vor in reference namelist : Vorticity scheme options726 READ ( numnam_ref, namdyn_vor, IOSTAT = ios, ERR = 901)727 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in reference namelist', lwp)728 729 REWIND( numnam_cfg ) ! Namelist namdyn_vor in configuration namelist : Vorticity scheme options730 READ ( numnam_cfg, namdyn_vor, IOSTAT = ios, ERR = 902)731 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist', lwp ) 725 IF(lwm) THEN 726 REWIND( numnam_ref ) ! Namelist namdyn_vor in reference namelist : Vorticity scheme options 727 READ ( numnam_ref, namdyn_vor, IOSTAT = ios, ERR = 901) 728 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in reference namelist', lwm ) 729 REWIND( numnam_cfg ) ! Namelist namdyn_vor in configuration namelist : Vorticity scheme options 730 READ ( numnam_cfg, namdyn_vor, IOSTAT = ios, ERR = 902 ) 731 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_vor in configuration namelist', lwm ) 732 ENDIF 732 733 IF(lwm) WRITE ( numond, namdyn_vor ) 734 735 CALL vor_namelist() 733 736 734 737 IF(lwp) THEN ! Namelist print … … 801 804 END SUBROUTINE dyn_vor_init 802 805 806 SUBROUTINE vor_namelist() 807 !!--------------------------------------------------------------------- 808 !! *** ROUTINE vor_namelist *** 809 !! 810 !! ** Purpose : Broadcast namelist variables read by procesor lwm 811 !! 812 !! ** Method : use lib_mpp 813 !!---------------------------------------------------------------------- 814 #if defined key_mpp_mpi 815 CALL mpp_bcast(ln_dynvor_ens) 816 CALL mpp_bcast(ln_dynvor_ene) 817 CALL mpp_bcast(ln_dynvor_mix) 818 CALL mpp_bcast(ln_dynvor_een) 819 CALL mpp_bcast(ln_dynvor_een_old) 820 #endif 821 END SUBROUTINE vor_namelist 803 822 !!============================================================================== 804 823 END MODULE dynvor -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ICB/icbini.F90
r6823 r9366 34 34 35 35 PUBLIC icb_init ! routine called in nemogcm.F90 module 36 PRIVATE icb_namelist 36 37 37 38 CHARACTER(len=100) :: cn_dir = './' !: Root directory for location of icb files … … 362 363 363 364 #if !defined key_agrif 364 REWIND( numnam_ref ) ! Namelist namberg in reference namelist : Iceberg parameters 365 READ ( numnam_ref, namberg, IOSTAT = ios, ERR = 901) 366 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in reference namelist', lwp ) 367 REWIND( numnam_cfg ) ! Namelist namberg in configuration namelist : Iceberg parameters 368 READ ( numnam_cfg, namberg, IOSTAT = ios, ERR = 902 ) 369 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in configuration namelist', lwp ) 365 IF(lwm) THEN 366 REWIND( numnam_ref ) ! Namelist namberg in reference namelist : Iceberg parameters 367 READ ( numnam_ref, namberg, IOSTAT = ios, ERR = 901) 368 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in reference namelist', lwm ) 369 REWIND( numnam_cfg ) ! Namelist namberg in configuration namelist : Iceberg parameters 370 READ ( numnam_cfg, namberg, IOSTAT = ios, ERR = 902 ) 371 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namberg in configuration namelist', lwm ) 372 ENDIF 373 370 374 IF(lwm) WRITE ( numond, namberg ) 375 376 CALL icb_namelist() 377 371 378 #else 372 379 IF(lwp) THEN … … 451 458 END SUBROUTINE icb_nam 452 459 460 SUBROUTINE icb_namelist() 461 !!--------------------------------------------------------------------- 462 !! *** ROUTINE icb_namelist *** 463 !! 464 !! ** Purpose : Broadcast namelist variables read by procesor lwm 465 !! 466 !! ** Method : use lib_mpp 467 !!---------------------------------------------------------------------- 468 #if defined key_mpp_mpi 469 CALL mpp_bcast(ln_icebergs) 470 CALL mpp_bcast(ln_bergdia) 471 CALL mpp_bcast(nn_sample_rate) 472 CALL mpp_bcast(rn_initial_mass, nclasses) 473 CALL mpp_bcast(rn_distribution, nclasses) 474 CALL mpp_bcast(rn_mass_scaling, nclasses) 475 CALL mpp_bcast(rn_initial_thickness, nclasses) 476 CALL mpp_bcast(nn_verbose_write) 477 CALL mpp_bcast(rn_rho_bergs) 478 CALL mpp_bcast(rn_LoW_ratio) 479 CALL mpp_bcast(nn_verbose_level) 480 CALL mpp_bcast(ln_operator_splitting) 481 CALL mpp_bcast(rn_bits_erosion_fraction) 482 CALL mpp_bcast(rn_sicn_shift) 483 CALL mpp_bcast(ln_passive_mode) 484 CALL mpp_bcast(ln_time_average_weight) 485 CALL mpp_bcast(nn_test_icebergs) 486 CALL mpp_bcast(rn_test_box, 4) 487 CALL mpp_bcast(rn_speed_limit) 488 CALL mpp_bcast(cn_dir, 100) 489 CALL fld_n_bcast(sn_icb) 490 #endif 491 END SUBROUTINE icb_namelist 492 453 493 !!====================================================================== 454 494 END MODULE icbini -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/LDF/ldfdyn.F90
r6486 r9366 29 29 30 30 PUBLIC ldf_dyn_init ! called by opa.F90 31 PRIVATE dyn_namelist 31 32 32 33 INTERFACE ldf_zpf … … 73 74 74 75 !!---------------------------------------------------------------------- 75 76 REWIND( numnam_ref ) ! Namelist namdyn_ldf in reference namelist : Lateral physics 77 READ ( numnam_ref, namdyn_ldf, IOSTAT = ios, ERR = 901) 78 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in reference namelist', lwp ) 79 80 REWIND( numnam_cfg ) ! Namelist namdyn_ldf in configuration namelist : Lateral physics 81 READ ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 82 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist', lwp ) 76 IF(lwm) THEN 77 REWIND( numnam_ref ) ! Namelist namdyn_ldf in reference namelist : Lateral physics 78 READ ( numnam_ref, namdyn_ldf, IOSTAT = ios, ERR = 901) 79 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in reference namelist', lwm ) 80 81 REWIND( numnam_cfg ) ! Namelist namdyn_ldf in configuration namelist : Lateral physics 82 READ ( numnam_cfg, namdyn_ldf, IOSTAT = ios, ERR = 902 ) 83 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namdyn_ldf in configuration namelist', lwm ) 84 ENDIF 85 83 86 IF(lwm) WRITE ( numond, namdyn_ldf ) 87 88 CALL dyn_namelist() 84 89 85 90 IF(lwp) THEN ! Parameter print … … 295 300 END SUBROUTINE ldf_zpf_3d 296 301 302 SUBROUTINE dyn_namelist() 303 !!--------------------------------------------------------------------- 304 !! *** ROUTINE dyn_namelist *** 305 !! 306 !! ** Purpose : Broadcast namelist variables read by procesor lwm 307 !! 308 !! ** Method : use lib_mpp 309 !!---------------------------------------------------------------------- 310 #if defined key_mpp_mpi 311 CALL mpp_bcast(ln_dynldf_lap) 312 CALL mpp_bcast(ln_dynldf_bilap) 313 CALL mpp_bcast(ln_dynldf_level) 314 CALL mpp_bcast(ln_dynldf_hor) 315 CALL mpp_bcast(ln_dynldf_iso) 316 CALL mpp_bcast(rn_ahm_0_lap) 317 CALL mpp_bcast(rn_ahmb_0) 318 CALL mpp_bcast(rn_ahm_0_blp) 319 CALL mpp_bcast(rn_cmsmag_1) 320 CALL mpp_bcast(rn_cmsmag_2) 321 CALL mpp_bcast(rn_cmsh) 322 CALL mpp_bcast(rn_ahm_m_lap) 323 CALL mpp_bcast(rn_ahm_m_blp) 324 #endif 325 END SUBROUTINE dyn_namelist 297 326 !!====================================================================== 298 327 END MODULE ldfdyn -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/LDF/ldftra.F90
r6486 r9366 29 29 30 30 PUBLIC ldf_tra_init ! called by opa.F90 31 PRIVATE tra_namelist 31 32 32 33 !! * Substitutions … … 77 78 ! ============================================= 78 79 79 80 REWIND( numnam_ref ) ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers81 READ ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901)82 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in reference namelist', lwp)83 84 REWIND( numnam_cfg ) ! Namelist namtra_ldf in configuration namelist : Lateral physics on tracers85 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902)86 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist', lwp ) 80 IF(lwm) THEN 81 REWIND( numnam_ref ) ! Namelist namtra_ldf in reference namelist : Lateral physics on tracers 82 READ ( numnam_ref, namtra_ldf, IOSTAT = ios, ERR = 901) 83 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in reference namelist', lwm ) 84 REWIND( numnam_cfg ) ! Namelist namtra_ldf in configuration namelist : Lateral physics on tracers 85 READ ( numnam_cfg, namtra_ldf, IOSTAT = ios, ERR = 902 ) 86 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_ldf in configuration namelist', lwm ) 87 ENDIF 87 88 IF(lwm) WRITE ( numond, namtra_ldf ) 89 90 CALL tra_namelist() 88 91 89 92 IF(lwp) THEN ! control print … … 179 182 END SUBROUTINE ldf_tra_init 180 183 184 SUBROUTINE tra_namelist() 185 !!--------------------------------------------------------------------- 186 !! *** ROUTINE tra_namelist *** 187 !! 188 !! ** Purpose : Broadcast namelist variables read by procesor lwm 189 !! 190 !! ** Method : use lib_mpp 191 !!---------------------------------------------------------------------- 192 #if defined key_mpp_mpi 193 CALL mpp_bcast(ln_traldf_lap) 194 CALL mpp_bcast(ln_traldf_bilap) 195 CALL mpp_bcast(ln_traldf_level) 196 CALL mpp_bcast(ln_traldf_hor) 197 CALL mpp_bcast(ln_traldf_iso) 198 CALL mpp_bcast(ln_traldf_grif) 199 CALL mpp_bcast(ln_traldf_gdia) 200 CALL mpp_bcast(ln_triad_iso) 201 CALL mpp_bcast(ln_botmix_grif) 202 CALL mpp_bcast(rn_aht_0) 203 CALL mpp_bcast(rn_ahtb_0) 204 CALL mpp_bcast(rn_aeiv_0) 205 CALL mpp_bcast(rn_slpmax) 206 CALL mpp_bcast(rn_chsmag) 207 CALL mpp_bcast(rn_smsh) 208 CALL mpp_bcast(rn_aht_m) 209 #endif 210 END SUBROUTINE tra_namelist 211 181 212 #if defined key_traldf_c3d 182 213 # include "ldftra_c3d.h90" -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/OBS/diaobs.F90
r6486 r9366 1598 1598 1599 1599 END SUBROUTINE fin_date 1600 1601 1600 END MODULE diaobs -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/albedo.F90
r6498 r9366 28 28 PUBLIC albedo_ice ! routine called sbcice_lim.F90 29 29 PUBLIC albedo_oce ! routine called by ??? 30 PRIVATE albedo_namelist 30 31 31 32 INTEGER :: albd_init = 0 !: control flag for initialization … … 253 254 albd_init = 1 ! indicate that the initialization has been done 254 255 ! 255 REWIND( numnam_ref ) ! Namelist namsbc_alb in reference namelist : Albedo parameters 256 READ ( numnam_ref, namsbc_alb, IOSTAT = ios, ERR = 901) 257 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_alb in reference namelist', lwp ) 258 259 REWIND( numnam_cfg ) ! Namelist namsbc_alb in configuration namelist : Albedo parameters 260 READ ( numnam_cfg, namsbc_alb, IOSTAT = ios, ERR = 902 ) 261 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_alb in configuration namelist', lwp ) 256 IF(lwm) THEN 257 REWIND( numnam_ref ) ! Namelist namsbc_alb in reference namelist : Albedo parameters 258 READ ( numnam_ref, namsbc_alb, IOSTAT = ios, ERR = 901) 259 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_alb in reference namelist', lwm ) 260 REWIND( numnam_cfg ) ! Namelist namsbc_alb in configuration namelist : Albedo parameters 261 READ ( numnam_cfg, namsbc_alb, IOSTAT = ios, ERR = 902 ) 262 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_alb in configuration namelist', lwm ) 263 ENDIF 262 264 IF(lwm) WRITE ( numond, namsbc_alb ) 263 265 ! 266 CALL albedo_namelist() 267 264 268 IF(lwp) THEN ! Control print 265 269 WRITE(numout,*) … … 273 277 END SUBROUTINE albedo_init 274 278 279 SUBROUTINE albedo_namelist() 280 !!--------------------------------------------------------------------- 281 !! *** ROUTINE albedo_namelist *** 282 !! 283 !! ** Purpose : Broadcast namelist variables read by procesor lwm 284 !! 285 !! ** Method : use lib_mpp 286 !!---------------------------------------------------------------------- 287 #if defined key_mpp_mpi 288 CALL mpp_bcast(nn_ice_alb) 289 CALL mpp_bcast( rn_albice) 290 #endif 291 END SUBROUTINE albedo_namelist 292 275 293 !!====================================================================== 276 294 END MODULE albedo -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/fldread.F90
r8243 r9366 26 26 USE ioipsl, ONLY : ymds2ju, ju2ymds ! for calendar 27 27 USE sbc_oce 28 USE lib_mpp 28 29 29 30 IMPLICIT NONE … … 33 34 PUBLIC fld_read, fld_fill ! called by sbc... modules 34 35 PUBLIC fld_clopn 36 PUBLIC fld_n_bcast 35 37 36 38 TYPE, PUBLIC :: FLD_N !: Namelist field informations … … 1498 1500 END SUBROUTINE fld_interp 1499 1501 1502 SUBROUTINE fld_n_bcast(svar) 1503 !!--------------------------------------------------------------------- 1504 !! *** ROUTINE fld_n_bcast *** 1505 !! 1506 !! ** Purpose : Broadcast FLD_N type read from namelist by procesor lwp 1507 !! 1508 !! ** Method : use lib_mpp 1509 !!---------------------------------------------------------------------- 1510 TYPE(FLD_N), INTENT (INOUT) :: svar 1511 #if defined key_mpp_mpi 1512 call mpp_bcast(svar%clname, 256) 1513 call mpp_bcast(svar%nfreqh) 1514 call mpp_bcast(svar%clvar, 34) 1515 call mpp_bcast(svar%ln_tint) 1516 call mpp_bcast(svar%ln_clim) 1517 call mpp_bcast(svar%cltype, 8) 1518 call mpp_bcast(svar%wname, 256) 1519 call mpp_bcast(svar%vcomp, 34) 1520 call mpp_bcast(svar%lname, 34) 1521 #endif 1522 END SUBROUTINE fld_n_bcast 1500 1523 1501 1524 FUNCTION ksec_week( cdday ) -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcana.F90
r6486 r9366 26 26 PUBLIC sbc_ana ! routine called in sbcmod module 27 27 PUBLIC sbc_gyre ! routine called in sbcmod module 28 PRIVATE ana_namelist 28 29 29 30 ! !!* Namelist namsbc_ana * … … 74 75 IF( kt == nit000 ) THEN 75 76 ! 76 REWIND( numnam_ref ) ! Namelist namsbc_ana in reference namelist : Analytical surface fluxes 77 READ ( numnam_ref, namsbc_ana, IOSTAT = ios, ERR = 901) 78 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ana in reference namelist', lwp ) 79 80 REWIND( numnam_cfg ) ! Namelist namsbc_ana in configuration namelist : Analytical surface fluxes 81 READ ( numnam_cfg, namsbc_ana, IOSTAT = ios, ERR = 902 ) 82 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ana in configuration namelist', lwp ) 77 IF(lwm) THEN 78 REWIND( numnam_ref ) ! Namelist namsbc_ana in reference namelist : Analytical surface fluxes 79 READ ( numnam_ref, namsbc_ana, IOSTAT = ios, ERR = 901) 80 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ana in reference namelist', lwm ) 81 REWIND( numnam_cfg ) ! Namelist namsbc_ana in configuration namelist : Analytical surface fluxes 82 READ ( numnam_cfg, namsbc_ana, IOSTAT = ios, ERR = 902 ) 83 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ana in configuration namelist', lwm ) 84 ENDIF 85 83 86 IF(lwm) WRITE ( numond, namsbc_ana ) 87 88 CALL ana_namelist() 84 89 ! 85 90 IF(lwp) WRITE(numout,*)' ' … … 329 334 END SUBROUTINE sbc_gyre 330 335 336 SUBROUTINE ana_namelist() 337 !!--------------------------------------------------------------------- 338 !! *** ROUTINE ana_namelist *** 339 !! 340 !! ** Purpose : Broadcast namelist variables read by procesor lwm 341 !! 342 !! ** Method : use lib_mpp 343 !!---------------------------------------------------------------------- 344 #if defined key_mpp_mpi 345 CALL mpp_bcast(nn_tau000) 346 CALL mpp_bcast(rn_utau0) 347 CALL mpp_bcast(rn_vtau0) 348 CALL mpp_bcast(rn_qns0) 349 CALL mpp_bcast(rn_qsr0) 350 CALL mpp_bcast(rn_emp0) 351 #endif 352 END SUBROUTINE ana_namelist 353 331 354 !!====================================================================== 332 355 END MODULE sbcana -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcapr.F90
r8243 r9366 25 25 26 26 PUBLIC sbc_apr ! routine called in sbcmod 27 PRIVATE sio_namelist 27 28 28 29 ! !!* namsbc_apr namelist (Atmospheric PRessure) * … … 80 81 ! ! -------------------- ! 81 82 ln_apr_sio = .FALSE. 82 REWIND( numnam_ref ) ! Namelist namsbc_apr in reference namelist : File for atmospheric pressure forcing 83 READ ( numnam_ref, namsbc_apr, IOSTAT = ios, ERR = 901) 84 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in reference namelist', lwp ) 83 IF(lwm) THEN 84 REWIND( numnam_ref ) ! Namelist namsbc_apr in reference namelist : File for atmospheric pressure forcing 85 READ ( numnam_ref, namsbc_apr, IOSTAT = ios, ERR = 901) 86 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in reference namelist', lwm ) 87 REWIND( numnam_cfg ) ! Namelist namsbc_apr in configuration namelist : File for atmospheric pressure forcing 88 READ ( numnam_cfg, namsbc_apr, IOSTAT = ios, ERR = 902 ) 89 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in configuration namelist', lwm ) 90 ENDIF 85 91 86 REWIND( numnam_cfg ) ! Namelist namsbc_apr in configuration namelist : File for atmospheric pressure forcing87 READ ( numnam_cfg, namsbc_apr, IOSTAT = ios, ERR = 902 )88 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_apr in configuration namelist', lwp )89 92 IF(lwm) WRITE ( numond, namsbc_apr ) 93 94 CALL sio_namelist(cn_dir, sn_apr) 90 95 ! 91 96 ALLOCATE( sf_apr(1), STAT=ierror ) !* allocate and fill sf_sst (forcing structure) with sn_sst … … 168 173 ! 169 174 END SUBROUTINE sbc_apr 175 176 SUBROUTINE sio_namelist(cd_dir, sd_apr) 177 !!--------------------------------------------------------------------- 178 !! *** ROUTINE sio_namelist *** 179 !! 180 !! ** Purpose : Broadcast namelist variables read by procesor lwm 181 !! 182 !! ** Method : use lib_mpp 183 !!---------------------------------------------------------------------- 184 CHARACTER(len=100) :: cd_dir ! Root directory for location of ssr files 185 TYPE(FLD_N) :: sd_apr ! informations about the fields to be read 186 187 #if defined key_mpp_mpi 188 CALL mpp_bcast(cd_dir, 100) 189 CALL fld_n_bcast(sd_apr) 190 CALL mpp_bcast(ln_ref_apr) 191 CALL mpp_bcast(rn_pref) 192 CALL mpp_bcast(ln_apr_obc) 193 #endif 194 END SUBROUTINE sio_namelist 170 195 171 196 !!====================================================================== -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
r8243 r9366 52 52 PUBLIC blk_ice_clio_flx ! routine called by sbcice_lim.F90 53 53 #endif 54 PRIVATE clio_namelist 54 55 55 56 INTEGER , PARAMETER :: jpfld = 7 ! maximum number of files to read … … 145 146 ! ! ====================== ! 146 147 ln_clio_sio = .FALSE. 147 REWIND( numnam_ref ) ! Namelist namsbc_clio in reference namelist : CLIO files 148 READ ( numnam_ref, namsbc_clio, IOSTAT = ios, ERR = 901) 149 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_clio in reference namelist', lwp ) 150 151 REWIND( numnam_cfg ) ! Namelist namsbc_clio in configuration namelist : CLIO files 152 READ ( numnam_cfg, namsbc_clio, IOSTAT = ios, ERR = 902 ) 153 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_clio in configuration namelist', lwp ) 148 IF(lwm) THEN 149 REWIND( numnam_ref ) ! Namelist namsbc_clio in reference namelist : CLIO files 150 READ ( numnam_ref, namsbc_clio, IOSTAT = ios, ERR = 901) 151 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_clio in reference namelist', lwm ) 152 REWIND( numnam_cfg ) ! Namelist namsbc_clio in configuration namelist : CLIO files 153 READ ( numnam_cfg, namsbc_clio, IOSTAT = ios, ERR = 902 ) 154 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_clio in configuration namelist', lwm ) 155 ENDIF 154 156 IF(lwm) WRITE ( numond, namsbc_clio ) 157 158 CALL clio_namelist(cn_dir, sn_utau, sn_vtau, sn_wndm, sn_tair, sn_humi, & 159 & sn_ccov, sn_prec) 155 160 156 161 ! store namelist information in an array … … 1072 1077 END SUBROUTINE flx_blk_declin 1073 1078 1079 SUBROUTINE clio_namelist(cd_dir, sd_utau, sd_vtau, sd_wndm, sd_tair, sd_humi, & 1080 & sd_ccov, sd_prec) 1081 !!--------------------------------------------------------------------- 1082 !! *** ROUTINE clio_namelist *** 1083 !! 1084 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1085 !! 1086 !! ** Method : use lib_mpp 1087 !!---------------------------------------------------------------------- 1088 CHARACTER(len=100) :: cd_dir ! Root directory for location of CLIO files 1089 TYPE(FLD_N) :: sd_utau, sd_vtau, sd_wndm, sd_tair ! informations about the fields to be read 1090 TYPE(FLD_N) :: sd_humi, sd_ccov, sd_prec ! 1091 #if defined key_mpp_mpi 1092 CALL mpp_bcast(cd_dir, 100) 1093 CALL fld_n_bcast(sd_utau) 1094 CALL fld_n_bcast(sd_vtau) 1095 CALL fld_n_bcast(sd_wndm) 1096 CALL fld_n_bcast(sd_humi) 1097 CALL fld_n_bcast(sd_ccov) 1098 CALL fld_n_bcast(sd_tair) 1099 CALL fld_n_bcast(sd_prec) 1100 CALL mpp_bcast(ln_clio_sio) 1101 #endif 1102 END SUBROUTINE clio_namelist 1103 1074 1104 !!====================================================================== 1075 1105 END MODULE sbcblk_clio -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r8243 r9366 61 61 #endif 62 62 PUBLIC turb_core_2z ! routine calles in sbcblk_mfs module 63 PRIVATE core_namelist 63 64 64 65 INTEGER , PARAMETER :: jpfld = 9 ! maximum number of files to read … … 160 161 ! 161 162 ln_core_sio = .FALSE. 162 REWIND( numnam_ref ) ! Namelist namsbc_core in reference namelist : CORE bulk parameters 163 READ ( numnam_ref, namsbc_core, IOSTAT = ios, ERR = 901) 164 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in reference namelist', lwp ) 165 ! 166 REWIND( numnam_cfg ) ! Namelist namsbc_core in configuration namelist : CORE bulk parameters 167 READ ( numnam_cfg, namsbc_core, IOSTAT = ios, ERR = 902 ) 168 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in configuration namelist', lwp ) 163 IF(lwm) THEN 164 REWIND( numnam_ref ) ! Namelist namsbc_core in reference namelist : CORE bulk parameters 165 READ ( numnam_ref, namsbc_core, IOSTAT = ios, ERR = 901) 166 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in reference namelist', lwm ) 167 REWIND( numnam_cfg ) ! Namelist namsbc_core in configuration namelist : CORE bulk parameters 168 READ ( numnam_cfg, namsbc_core, IOSTAT = ios, ERR = 902 ) 169 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_core in configuration namelist', lwm ) 170 ENDIF 169 171 170 172 IF(lwm) WRITE( numond, namsbc_core ) 171 173 ! ! check: do we plan to use ln_dm2dc with non-daily forcing? 174 CALL core_namelist(cn_dir, sn_wndi, sn_wndj, sn_humi, sn_qsr, sn_qlw, & 175 & sn_tair, sn_prec, sn_snow, sn_tdif) 176 ! 172 177 IF( ln_dm2dc .AND. sn_qsr%nfreqh /= 24 ) & 173 178 & CALL ctl_stop( 'sbc_blk_core: ln_dm2dc can be activated only with daily short-wave forcing' ) … … 836 841 END SUBROUTINE turb_core_2z 837 842 843 SUBROUTINE core_namelist(cd_dir, sd_wndi, sd_wndj, sd_humi, sd_qsr, sd_qlw, & 844 & sd_tair, sd_prec, sd_snow, sd_tdif) 845 !!--------------------------------------------------------------------- 846 !! *** ROUTINE core_namelist *** 847 !! 848 !! ** Purpose : Broadcast namelist variables read by procesor lwm 849 !! 850 !! ** Method : use lib_mpp 851 !!---------------------------------------------------------------------- 852 CHARACTER(len=100), INTENT(INOUT) :: cd_dir ! Root directory for location of core files 853 TYPE(FLD_N), INTENT(INOUT) :: sd_wndi, sd_wndj, sd_humi, sd_qsr ! informations about the fields to be read 854 TYPE(FLD_N), INTENT(INOUT) :: sd_qlw , sd_tair, sd_prec, sd_snow ! 855 TYPE(FLD_N), INTENT(INOUT) :: sd_tdif 856 #if defined key_mpp_mpi 857 CALL mpp_bcast(cd_dir, 100) 858 CALL mpp_bcast(ln_taudif) 859 CALL mpp_bcast(rn_pfac) 860 CALL mpp_bcast(rn_efac) 861 CALL mpp_bcast(rn_vfac) 862 CALL fld_n_bcast(sd_wndi) 863 CALL fld_n_bcast(sd_wndj) 864 CALL fld_n_bcast(sd_humi) 865 CALL fld_n_bcast(sd_qsr) 866 CALL fld_n_bcast(sd_qlw) 867 CALL fld_n_bcast(sd_tair) 868 CALL fld_n_bcast(sd_prec) 869 CALL fld_n_bcast(sd_snow) 870 CALL fld_n_bcast(sd_tdif) 871 CALL mpp_bcast(rn_zqt) 872 CALL mpp_bcast(rn_zu) 873 CALL mpp_bcast(ln_core_sio) 874 #endif 875 END SUBROUTINE core_namelist 838 876 839 877 FUNCTION cd_neutral_10m( zw10 ) -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_mfs.F90
r8243 r9366 30 30 31 31 PUBLIC sbc_blk_mfs ! routine called in sbcmod module 32 PRIVATE mfs_namelist 32 33 33 34 INTEGER , PARAMETER :: jpfld = 7 ! maximum number of files to read … … 135 136 136 137 IF( ierror /= 0 ) CALL ctl_warn('sbc_blk_mfs: failed to allocate arrays') 137 138 REWIND( numnam_ref ) ! Namelist namsbc_msf in reference namelist : MFS files139 READ ( numnam_ref, namsbc_mfs, IOSTAT = ios, ERR = 901)140 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_mfs in reference namelist', lwp)141 142 REWIND( numnam_cfg ) ! Namelist namsbc_msf in configuration namelist : MFS files143 READ ( numnam_cfg, namsbc_mfs, IOSTAT = ios, ERR = 902)144 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_mfs in configuration namelist', lwp ) 138 IF(lwm) THEN 139 REWIND( numnam_ref ) ! Namelist namsbc_msf in reference namelist : MFS files 140 READ ( numnam_ref, namsbc_mfs, IOSTAT = ios, ERR = 901) 141 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_mfs in reference namelist', lwm ) 142 REWIND( numnam_cfg ) ! Namelist namsbc_msf in configuration namelist : MFS files 143 READ ( numnam_cfg, namsbc_mfs, IOSTAT = ios, ERR = 902 ) 144 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_mfs in configuration namelist', lwm ) 145 ENDIF 145 146 IF(lwm) WRITE ( numond, namsbc_mfs ) 147 ! 148 CALL mfs_namelist(cn_dir, sn_wndi, sn_wndj, sn_clc, sn_msl, & 149 & sn_tair , sn_rhm , sn_prec, ln_msf_sio) 146 150 ! 147 151 ! store namelist information in an array … … 646 650 END SUBROUTINE qshort 647 651 648 652 SUBROUTINE mfs_namelist(cd_dir, sd_wndi, sd_wndj, sd_clc, sd_msl, & 653 & sd_tair , sd_rhm , sd_prec, ld_msf_sio) 654 !!--------------------------------------------------------------------- 655 !! *** ROUTINE mfs_namelist *** 656 !! 657 !! ** Purpose : Broadcast namelist variables read by procesor lwm 658 !! 659 !! ** Method : use lib_mpp 660 !!---------------------------------------------------------------------- 661 CHARACTER(len=100), INTENT(INOUT) :: cd_dir ! Root directory for location of Atmospheric forcing files 662 TYPE(FLD_N), INTENT(INOUT) :: sd_wndi, sd_wndj, sd_clc, sd_msl ! informations about the fields to be read 663 TYPE(FLD_N), INTENT(INOUT) :: sd_tair, sd_rhm, sd_prec 664 LOGICAL, INTENT(INOUT) :: ld_msf_sio 665 666 #if defined key_mpp_mpi 667 CALL mpp_bcast(cd_dir, 100) 668 CALL fld_n_bcast(sd_wndi) 669 CALL fld_n_bcast(sd_wndj) 670 CALL fld_n_bcast(sd_clc) 671 CALL fld_n_bcast(sd_msl) 672 CALL fld_n_bcast(sd_tair) 673 CALL fld_n_bcast(sd_rhm) 674 CALL fld_n_bcast(sd_prec) 675 CALL mpp_bcast(ld_msf_sio) 676 #endif 677 END SUBROUTINE mfs_namelist 649 678 !!====================================================================== 650 679 -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r7923 r9366 62 62 PUBLIC sbc_cpl_ice_flx ! routine called by sbc_ice_lim(_2).F90 63 63 PUBLIC sbc_cpl_alloc ! routine called in sbcice_cice.F90 64 PRIVATE cpl_namelist 64 65 65 66 INTEGER, PARAMETER :: jpr_otx1 = 1 ! 3 atmosphere-ocean stress components on grid 1 … … 259 260 ! Namelist informations ! 260 261 ! ================================ ! 261 262 REWIND( numnam_ref ) ! Namelist namsbc_cpl in reference namelist : Variables for OASIS coupling263 READ ( numnam_ref, namsbc_cpl, IOSTAT = ios, ERR = 901)264 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in reference namelist', lwp)265 266 REWIND( numnam_cfg ) ! Namelist namsbc_cpl in configuration namelist : Variables for OASIS coupling267 READ ( numnam_cfg, namsbc_cpl, IOSTAT = ios, ERR = 902)268 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist', lwp ) 262 IF(lwm) THEN 263 REWIND( numnam_ref ) ! Namelist namsbc_cpl in reference namelist : Variables for OASIS coupling 264 READ ( numnam_ref, namsbc_cpl, IOSTAT = ios, ERR = 901) 265 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in reference namelist', lwm ) 266 REWIND( numnam_cfg ) ! Namelist namsbc_cpl in configuration namelist : Variables for OASIS coupling 267 READ ( numnam_cfg, namsbc_cpl, IOSTAT = ios, ERR = 902 ) 268 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cpl in configuration namelist', lwm ) 269 ENDIF 269 270 IF(lwm) WRITE ( numond, namsbc_cpl ) 271 272 CALL cpl_namelist() 270 273 271 274 IF(lwp) THEN ! control print … … 2536 2539 ! 2537 2540 END SUBROUTINE sbc_cpl_snd 2538 2541 2542 SUBROUTINE cpl_namelist() 2543 !!--------------------------------------------------------------------- 2544 !! *** ROUTINE cpl_namelist *** 2545 !! 2546 !! ** Purpose : Broadcast namelist variables read by procesor lwm 2547 !! 2548 !! ** Method : use lib_mpp 2549 !!---------------------------------------------------------------------- 2550 #if defined key_mpp_mpi 2551 CALL fld_c_bcast(sn_snd_temp) 2552 CALL fld_c_bcast(sn_snd_alb) 2553 CALL fld_c_bcast(sn_snd_thick) 2554 CALL fld_c_bcast(sn_snd_crt) 2555 CALL fld_c_bcast(sn_snd_co2) 2556 CALL fld_c_bcast(sn_snd_cond) 2557 CALL fld_c_bcast(sn_snd_mpnd) 2558 CALL fld_c_bcast(sn_snd_sstfrz) 2559 CALL fld_c_bcast(sn_snd_thick1) 2560 CALL fld_c_bcast(sn_rcv_w10m) 2561 CALL fld_c_bcast(sn_rcv_taumod) 2562 CALL fld_c_bcast(sn_rcv_tau) 2563 CALL fld_c_bcast(sn_rcv_dqnsdt) 2564 CALL fld_c_bcast(sn_rcv_qsr) 2565 CALL fld_c_bcast(sn_rcv_qns) 2566 CALL fld_c_bcast(sn_rcv_emp) 2567 CALL fld_c_bcast(sn_rcv_rnf) 2568 CALL fld_c_bcast(sn_rcv_cal) 2569 CALL fld_c_bcast(sn_rcv_iceflx) 2570 CALL fld_c_bcast(sn_rcv_co2) 2571 CALL fld_c_bcast(sn_rcv_grnm) 2572 CALL fld_c_bcast(sn_rcv_antm) 2573 CALL fld_c_bcast(sn_rcv_ts_ice) 2574 CALL mpp_bcast(nn_cplmodel) 2575 CALL mpp_bcast(ln_usecplmask) 2576 CALL mpp_bcast(ln_coupled_iceshelf_fluxes) 2577 CALL mpp_bcast(ln_iceshelf_init_atmos) 2578 CALL mpp_bcast(rn_greenland_calving_fraction) 2579 CALL mpp_bcast(rn_antarctica_calving_fraction) 2580 CALL mpp_bcast(rn_iceshelf_fluxes_tolerance) 2581 CALL fld_c_bcast(sn_snd_bio_co2) 2582 CALL fld_c_bcast(sn_snd_bio_dms) 2583 CALL fld_c_bcast(sn_rcv_atm_pco2) 2584 CALL fld_c_bcast(sn_rcv_atm_dust) 2585 #endif 2586 END SUBROUTINE cpl_namelist 2587 2588 SUBROUTINE fld_c_bcast(sd_name) 2589 !!--------------------------------------------------------------------- 2590 !! *** ROUTINE fld_c_bcast *** 2591 !! 2592 !! ** Purpose : Broadcast FLD_C type to all processors 2593 !! 2594 !! ** Method : use lib_mpp 2595 !!---------------------------------------------------------------------- 2596 TYPE(FLD_C), INTENT(INOUT) :: sd_name 2597 #if defined key_mpp_mpi 2598 CALL mpp_bcast(sd_name%cldes, 32) 2599 CALL mpp_bcast(sd_name%clcat, 32) 2600 CALL mpp_bcast(sd_name%clvref, 32) 2601 CALL mpp_bcast(sd_name%clvor, 32) 2602 CALL mpp_bcast(sd_name%clvgrd, 32) 2603 #endif 2604 END SUBROUTINE fld_c_bcast 2539 2605 !!====================================================================== 2540 2606 END MODULE sbccpl -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90
r8243 r9366 27 27 28 28 PUBLIC sbc_flx ! routine called by step.F90 29 PRIVATE flx_namelist 29 30 30 31 INTEGER , PARAMETER :: jpfld = 5 ! maximum number of files to read … … 93 94 ! set file information 94 95 ln_lfx_sio = .FALSE. 95 REWIND( numnam_ref ) ! Namelist namsbc_flx in reference namelist : Files for fluxes 96 READ ( numnam_ref, namsbc_flx, IOSTAT = ios, ERR = 901) 97 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in reference namelist', lwp ) 98 99 REWIND( numnam_cfg ) ! Namelist namsbc_flx in configuration namelist : Files for fluxes 100 READ ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 101 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist', lwp ) 96 IF(lwm) THEN 97 REWIND( numnam_ref ) ! Namelist namsbc_flx in reference namelist : Files for fluxes 98 READ ( numnam_ref, namsbc_flx, IOSTAT = ios, ERR = 901) 99 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in reference namelist', lwm ) 100 REWIND( numnam_cfg ) ! Namelist namsbc_flx in configuration namelist : Files for fluxes 101 READ ( numnam_cfg, namsbc_flx, IOSTAT = ios, ERR = 902 ) 102 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_flx in configuration namelist', lwm ) 103 ENDIF 102 104 IF(lwm) WRITE ( numond, namsbc_flx ) 103 105 ! 106 CALL flx_namelist(cn_dir, sn_utau, sn_vtau, sn_qtot, sn_qsr, sn_emp) 104 107 ! ! check: do we plan to use ln_dm2dc with non-daily forcing? 105 108 IF( ln_dm2dc .AND. sn_qsr%nfreqh /= 24 ) & … … 180 183 END SUBROUTINE sbc_flx 181 184 185 SUBROUTINE flx_namelist(cd_dir, sd_utau, sd_vtau, sd_qtot, sd_qsr, sd_emp) 186 !!--------------------------------------------------------------------- 187 !! *** ROUTINE flx_namelist *** 188 !! 189 !! ** Purpose : Broadcast namelist variables read by procesor lwm 190 !! 191 !! ** Method : use lib_mpp 192 !!---------------------------------------------------------------------- 193 CHARACTER(len=100), INTENT(INOUT) :: cd_dir ! Root directory for location of flx files 194 TYPE(FLD_N), INTENT(INOUT) :: sd_utau, sd_vtau, sd_qtot, sd_qsr, sd_emp ! informations about the fields to be read 195 #if defined key_mpp_mpi 196 CALL mpp_bcast(cd_dir, 100) 197 CALL fld_n_bcast(sd_utau) 198 CALL fld_n_bcast(sd_vtau) 199 CALL fld_n_bcast(sd_qtot) 200 CALL fld_n_bcast(sd_qsr) 201 CALL fld_n_bcast(sd_emp) 202 CALL mpp_bcast(ln_lfx_sio) 203 #endif 204 END SUBROUTINE flx_namelist 205 182 206 !!====================================================================== 183 207 END MODULE sbcflx -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_cice.F90
r8243 r9366 81 81 PUBLIC cice_sbc_final ! routine called by sbc_final 82 82 PUBLIC sbc_ice_cice ! routine called by sbc 83 PRIVATE cice_namelist 83 84 84 85 INTEGER :: ji_off … … 865 866 sn_bot4 = FLD_N( 'botmeltn4_1m' , -1. , 'botmeltn4' , .true. , .true. , ' yearly' , '' , '' , '' ) 866 867 sn_bot5 = FLD_N( 'botmeltn5_1m' , -1. , 'botmeltn5' , .true. , .true. , ' yearly' , '' , '' , '' ) 867 868 REWIND( numnam_ref ) ! Namelist namsbc_cice in reference namelist : 869 READ ( numnam_ref, namsbc_cice, IOSTAT = ios, ERR = 901) 870 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in reference namelist', lwp ) 871 872 REWIND( numnam_cfg ) ! Namelist namsbc_cice in configuration namelist : Parameters of the run 873 READ ( numnam_cfg, namsbc_cice, IOSTAT = ios, ERR = 902 ) 874 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in configuration namelist', lwp ) 868 IF(lwm) THEN 869 REWIND( numnam_ref ) ! Namelist namsbc_cice in reference namelist : 870 READ ( numnam_ref, namsbc_cice, IOSTAT = ios, ERR = 901) 871 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in reference namelist', lwm ) 872 REWIND( numnam_cfg ) ! Namelist namsbc_cice in configuration namelist : Parameters of the run 873 READ ( numnam_cfg, namsbc_cice, IOSTAT = ios, ERR = 902 ) 874 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_cice in configuration namelist', lwm ) 875 ENDIF 876 875 877 IF(lwm) WRITE ( numond, namsbc_cice ) 878 879 CALL cice_namelist(cn_dir, sn_snow, sn_rain, sn_sblm, sn_top1, sn_top2, & 880 & sn_top3, sn_top4, sn_top5, sn_bot1, sn_bot2, sn_bot3, & 881 & sn_bot4, sn_bot5) 876 882 877 883 ! store namelist information in an array … … 1149 1155 END SUBROUTINE cice2nemo 1150 1156 1157 SUBROUTINE cice_namelist(cd_dir, sd_snow, sd_rain, sd_sblm, sd_top1, sd_top2, & 1158 & sd_top3, sd_top4, sd_top5, sd_bot1, sd_bot2,sd_bot3, & 1159 & sd_bot4, sd_bot5) 1160 !!--------------------------------------------------------------------- 1161 !! *** ROUTINE cice_namelist *** 1162 !! 1163 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1164 !! 1165 !! ** Method : use lib_mpp 1166 !!---------------------------------------------------------------------- 1167 CHARACTER(len=100) :: cd_dir ! Root directory for location of CICE forcing files 1168 TYPE(FLD_N) :: sd_snow, sd_rain, sd_sblm ! informations about the fields to be read 1169 TYPE(FLD_N) :: sd_top1, sd_top2, sd_top3, sd_top4, sd_top5 1170 TYPE(FLD_N) :: sd_bot1, sd_bot2, sd_bot3, sd_bot4, sd_bot5 1171 #if defined key_mpp_mpi 1172 CALL mpp_bcast(cd_dir, 100) 1173 CALL fld_n_bcast(sd_snow) 1174 CALL fld_n_bcast(sd_rain) 1175 CALL fld_n_bcast(sd_sblm) 1176 CALL fld_n_bcast(sd_top1) 1177 CALL fld_n_bcast(sd_top2) 1178 CALL fld_n_bcast(sd_top3) 1179 CALL fld_n_bcast(sd_top4) 1180 CALL fld_n_bcast(sd_top5) 1181 CALL fld_n_bcast(sd_bot1) 1182 CALL fld_n_bcast(sd_bot2) 1183 CALL fld_n_bcast(sd_bot3) 1184 CALL fld_n_bcast(sd_bot4) 1185 CALL fld_n_bcast(sd_bot5) 1186 #endif 1187 END SUBROUTINE cice_namelist 1188 1151 1189 #else 1152 1190 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcice_if.F90
r8243 r9366 30 30 PRIVATE 31 31 PUBLIC sbc_ice_if ! routine called in sbcmod 32 PRIVATE if_namelist 32 33 33 34 TYPE(FLD), ALLOCATABLE, DIMENSION(:) :: sf_ice ! structure of input ice-cover (file informations, fields read) … … 74 75 ! ! ====================== ! 75 76 ! set file information 76 REWIND( numnam_ref ) ! Namelist namsbc_iif in reference namelist : Ice if file 77 READ ( numnam_ref, namsbc_iif, IOSTAT = ios, ERR = 901) 78 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in reference namelist', lwp ) 77 IF(lwm) THEN 78 REWIND( numnam_ref ) ! Namelist namsbc_iif in reference namelist : Ice if file 79 READ ( numnam_ref, namsbc_iif, IOSTAT = ios, ERR = 901) 80 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in reference namelist', lwm ) 81 REWIND( numnam_cfg ) ! Namelist Namelist namsbc_iif in configuration namelist : Ice if file 82 READ ( numnam_cfg, namsbc_iif, IOSTAT = ios, ERR = 902 ) 83 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in configuration namelist', lwm ) 84 ENDIF 79 85 80 REWIND( numnam_cfg ) ! Namelist Namelist namsbc_iif in configuration namelist : Ice if file81 READ ( numnam_cfg, namsbc_iif, IOSTAT = ios, ERR = 902 )82 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_iif in configuration namelist', lwp )83 86 IF(lwm) WRITE ( numond, namsbc_iif ) 87 88 CALL if_namelist(cn_dir, sn_ice) 84 89 85 90 ALLOCATE( sf_ice(1), STAT=ierror ) … … 147 152 END SUBROUTINE sbc_ice_if 148 153 154 SUBROUTINE if_namelist(cd_dir, sd_ice) 155 !!--------------------------------------------------------------------- 156 !! *** ROUTINE if_namelist *** 157 !! 158 !! ** Purpose : Broadcast namelist variables read by procesor lwm 159 !! 160 !! ** Method : use lib_mpp 161 !!---------------------------------------------------------------------- 162 CHARACTER(len=100), INTENT(INOUT) :: cd_dir ! Root directory for location of ice-if files 163 TYPE(FLD_N), INTENT(INOUT) :: sd_ice ! informations about the fields to be read 164 165 #if defined key_mpp_mpi 166 CALL mpp_bcast(cd_dir, 100) 167 CALL fld_n_bcast(sd_ice) 168 #endif 169 END SUBROUTINE if_namelist 149 170 !!====================================================================== 150 171 END MODULE sbcice_if -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcisf.F90
r8243 r9366 33 33 34 34 PUBLIC sbc_isf, sbc_isf_div, sbc_isf_alloc ! routine called in sbcmod and divcur 35 PRIVATE isf_namelist 35 36 36 37 ! public in order to be able to output then … … 105 106 ! ! ====================== ! 106 107 ln_isf_sio = .FALSE. 107 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 108 READ ( numnam_ref, namsbc_isf, IOSTAT = ios, ERR = 901) 109 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in reference namelist', lwp ) 110 111 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 112 READ ( numnam_cfg, namsbc_isf, IOSTAT = ios, ERR = 902 ) 113 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist', lwp ) 108 IF(lwm) THEN 109 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 110 READ ( numnam_ref, namsbc_isf, IOSTAT = ios, ERR = 901) 111 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in reference namelist', lwm ) 112 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 113 READ ( numnam_cfg, namsbc_isf, IOSTAT = ios, ERR = 902 ) 114 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_isf in configuration namelist', lwm ) 115 ENDIF 116 114 117 IF(lwm) WRITE ( numond, namsbc_isf ) 115 118 119 CALL isf_namelist(ln_isf_sio) 116 120 117 121 IF ( lwp ) WRITE(numout,*) … … 944 948 ! 945 949 END SUBROUTINE sbc_isf_div 946 950 951 SUBROUTINE isf_namelist(ld_isf_sio) 952 !!--------------------------------------------------------------------- 953 !! *** ROUTINE isf_namelist *** 954 !! 955 !! ** Purpose : Broadcast namelist variables read by procesor lwm 956 !! 957 !! ** Method : use lib_mpp 958 !!---------------------------------------------------------------------- 959 LOGICAL :: ld_isf_sio 960 #if defined key_mpp_mpi 961 CALL mpp_bcast(nn_isfblk) 962 CALL mpp_bcast(rn_hisf_tbl) 963 CALL mpp_bcast(ln_divisf) 964 CALL mpp_bcast(ln_conserve) 965 CALL mpp_bcast(rn_gammat0) 966 CALL mpp_bcast(rn_gammas0) 967 CALL mpp_bcast(nn_gammablk) 968 CALL fld_n_bcast(sn_fwfisf) 969 CALL fld_n_bcast(sn_qisf) 970 CALL fld_n_bcast(sn_rnfisf) 971 CALL fld_n_bcast(sn_depmax_isf) 972 CALL fld_n_bcast(sn_depmin_isf) 973 CALL fld_n_bcast(sn_Leff_isf) 974 CALL mpp_bcast(ld_isf_sio) 975 #endif 976 END SUBROUTINE isf_namelist 977 947 978 FUNCTION tinsitu( ptem, psal, ppress ) RESULT( pti ) 948 979 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
r8243 r9366 62 62 PUBLIC sbc ! routine called by step.F90 63 63 PUBLIC sbc_init ! routine called by opa.F90 64 PRIVATE sbc_namelist 64 65 65 66 INTEGER :: nsbc ! type of surface boundary condition (deduced from namsbc informations) … … 102 103 WRITE(numout,*) '~~~~~~~~ ' 103 104 ENDIF 104 105 REWIND( numnam_ref ) ! Namelist namsbc in reference namelist : Surface boundary106 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 run110 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) 108 901 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 ) 111 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc in configuration namelist', lwm ) 112 ENDIF 112 113 IF(lwm) WRITE ( numond, namsbc ) 113 114 115 CALL sbc_namelist() 114 116 ! ! overwrite namelist parameter using CPP key information 115 117 IF( Agrif_Root() ) THEN ! AGRIF zoom … … 508 510 END SUBROUTINE sbc_final 509 511 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 510 546 !!====================================================================== 511 547 END MODULE sbcmod -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcrnf.F90
r8243 r9366 36 36 PUBLIC sbc_rnf_alloc ! routine call in sbcmod module 37 37 PUBLIC sbc_rnf_init ! (PUBLIC for TAM) 38 PRIVATE rnf_namelist 38 39 ! !!* namsbc_rnf namelist * 39 40 CHARACTER(len=100) :: cn_dir !: Root directory for location of rnf files … … 283 284 ! 284 285 ln_rnf_sio = .FALSE. 285 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 286 READ ( numnam_ref, namsbc_rnf, IOSTAT = ios, ERR = 901) 287 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in reference namelist', lwp ) 288 289 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 290 READ ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 291 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist', lwp ) 286 IF(lwm) THEN 287 REWIND( numnam_ref ) ! Namelist namsbc_rnf in reference namelist : Runoffs 288 READ ( numnam_ref, namsbc_rnf, IOSTAT = ios, ERR = 901) 289 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in reference namelist', lwm ) 290 REWIND( numnam_cfg ) ! Namelist namsbc_rnf in configuration namelist : Runoffs 291 READ ( numnam_cfg, namsbc_rnf, IOSTAT = ios, ERR = 902 ) 292 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_rnf in configuration namelist', lwm ) 293 ENDIF 292 294 IF(lwm) WRITE ( numond, namsbc_rnf ) 293 295 ! 296 CALL rnf_namelist() 294 297 ! ! Control print 295 298 IF(lwp) THEN … … 541 544 END SUBROUTINE rnf_mouth 542 545 546 SUBROUTINE rnf_namelist() 547 !!--------------------------------------------------------------------- 548 !! *** ROUTINE rnf_namelist *** 549 !! 550 !! ** Purpose : Broadcast namelist variables read by procesor lwm 551 !! 552 !! ** Method : use lib_mpp 553 !!---------------------------------------------------------------------- 554 #if defined key_mpp_mpi 555 CALL mpp_bcast(cn_dir, 100) 556 CALL mpp_bcast(ln_rnf_depth) 557 CALL mpp_bcast(ln_rnf_tem) 558 CALL mpp_bcast(ln_rnf_sal) 559 CALL fld_n_bcast(sn_rnf) 560 CALL fld_n_bcast(sn_cnf) 561 CALL fld_n_bcast(sn_s_rnf) 562 CALL fld_n_bcast(sn_t_rnf) 563 CALL fld_n_bcast(sn_dep_rnf) 564 CALL mpp_bcast(ln_rnf_mouth) 565 CALL mpp_bcast(rn_hrnf) 566 CALL mpp_bcast(rn_avt_rnf) 567 CALL mpp_bcast(rn_rfact) 568 CALL mpp_bcast(ln_rnf_depth_ini) 569 CALL mpp_bcast(rn_dep_max) 570 CALL mpp_bcast(rn_rnf_max) 571 CALL mpp_bcast(nn_rnf_depth_file) 572 CALL mpp_bcast(ln_rnf_sio) 573 #endif 574 END SUBROUTINE rnf_namelist 543 575 !!====================================================================== 544 576 END MODULE sbcrnf -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcssr.F90
r8243 r9366 31 31 PUBLIC sbc_ssr ! routine called in sbcmod 32 32 PUBLIC sbc_ssr_init ! routine called in sbcmod 33 PRIVATE ssr_namelist 33 34 34 35 REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: erp !: evaporation damping [kg/m2/s] … … 173 174 174 175 ln_ssr_sio = .FALSE. 175 REWIND( numnam_ref ) ! Namelist namsbc_ssr in reference namelist : 176 READ ( numnam_ref, namsbc_ssr, IOSTAT = ios, ERR = 901) 177 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in reference namelist', lwp ) 178 179 REWIND( numnam_cfg ) ! Namelist namsbc_ssr in configuration namelist : 180 READ ( numnam_cfg, namsbc_ssr, IOSTAT = ios, ERR = 902 ) 181 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in configuration namelist', lwp ) 176 IF(lwm) THEN 177 REWIND( numnam_ref ) ! Namelist namsbc_ssr in reference namelist : 178 READ ( numnam_ref, namsbc_ssr, IOSTAT = ios, ERR = 901) 179 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in reference namelist', lwm ) 180 REWIND( numnam_cfg ) ! Namelist namsbc_ssr in configuration namelist : 181 READ ( numnam_cfg, namsbc_ssr, IOSTAT = ios, ERR = 902 ) 182 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_ssr in configuration namelist', lwm ) 183 ENDIF 182 184 IF(lwm) WRITE ( numond, namsbc_ssr ) 185 186 CALL ssr_namelist(cn_dir, sn_sst, sn_sss) 183 187 184 188 IF(lwp) THEN !* control print … … 233 237 ! 234 238 END SUBROUTINE sbc_ssr_init 235 239 240 SUBROUTINE ssr_namelist(cd_dir, sd_sst, sd_sss) 241 !!--------------------------------------------------------------------- 242 !! *** ROUTINE ssr_namelist *** 243 !! 244 !! ** Purpose : Broadcast namelist variables read by procesor lwm 245 !! 246 !! ** Method : use lib_mpp 247 !!---------------------------------------------------------------------- 248 CHARACTER(len=100) :: cd_dir ! Root directory for location of ssr files 249 TYPE(FLD_N) :: sd_sst, sd_sss ! informations about the fields to be read 250 #if defined key_mpp_mpi 251 CALL mpp_bcast(cd_dir, 100) 252 CALL mpp_bcast(nn_sstr) 253 CALL mpp_bcast(nn_sssr) 254 CALL mpp_bcast(rn_dqdt) 255 CALL mpp_bcast(rn_deds) 256 CALL fld_n_bcast(sd_sst) 257 CALL fld_n_bcast(sd_sss) 258 CALL mpp_bcast(ln_sssr_bnd) 259 CALL mpp_bcast(rn_sssr_bnd) 260 CALL mpp_bcast(ln_ssr_sio) 261 #endif 262 END SUBROUTINE ssr_namelist 236 263 !!====================================================================== 237 264 END MODULE sbcssr -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/sbcwave.F90
r8243 r9366 24 24 25 25 PUBLIC sbc_wave ! routine called in sbc_blk_core or sbc_blk_mfs 26 PRIVATE wave_namelist 26 27 27 28 INTEGER , PARAMETER :: jpfld = 3 ! maximum number of files to read for srokes drift … … 83 84 IF( kt == nit000 ) THEN ! First call kt=nit000 ! 84 85 ! ! -------------------- ! 85 REWIND( numnam_ref ) ! Namelist namsbc_wave in reference namelist : File for drag coeff. from wave model 86 READ ( numnam_ref, namsbc_wave, IOSTAT = ios, ERR = 901) 87 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in reference namelist', lwp ) 88 89 REWIND( numnam_cfg ) ! Namelist namsbc_wave in configuration namelist : File for drag coeff. from wave model 90 READ ( numnam_cfg, namsbc_wave, IOSTAT = ios, ERR = 902 ) 91 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in configuration namelist', lwp ) 86 IF(lwm) THEN 87 REWIND( numnam_ref ) ! Namelist namsbc_wave in reference namelist : File for drag coeff. from wave model 88 READ ( numnam_ref, namsbc_wave, IOSTAT = ios, ERR = 901) 89 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in reference namelist', lwm ) 90 REWIND( numnam_cfg ) ! Namelist namsbc_wave in configuration namelist : File for drag coeff. from wave model 91 READ ( numnam_cfg, namsbc_wave, IOSTAT = ios, ERR = 902 ) 92 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsbc_wave in configuration namelist', lwm ) 93 ENDIF 94 92 95 IF(lwm) WRITE ( numond, namsbc_wave ) 93 96 ! 97 call wave_namelist(sn_cdg, cn_dir, sn_usd, sn_vsd, sn_wn) 94 98 95 99 IF ( ln_cdgw ) THEN … … 192 196 lspr = .false. 193 197 END SUBROUTINE sbc_wave 194 198 199 SUBROUTINE wave_namelist(sd_cdg, cd_dir, sd_usd, sd_vsd, sd_wn) 200 !!--------------------------------------------------------------------- 201 !! *** ROUTINE wave_namelist *** 202 !! 203 !! ** Purpose : Broadcast namelist variables read by procesor lwm 204 !! 205 !! ** Method : use lib_mpp 206 !!---------------------------------------------------------------------- 207 CHARACTER(len=100) :: cd_dir ! Root directory for location of drag coefficient files 208 TYPE(FLD_N) :: sd_cdg, sd_usd, sd_vsd, sd_wn ! informations about the fields to be read 209 #if defined key_mpp_mpi 210 CALL fld_n_bcast(sd_cdg) 211 CALL mpp_bcast(cd_dir, 100) 212 CALL fld_n_bcast(sd_usd) 213 CALL fld_n_bcast(sd_vsd) 214 CALL fld_n_bcast(sd_wn) 215 #endif 216 END SUBROUTINE wave_namelist 195 217 !!====================================================================== 196 218 END MODULE sbcwave -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SBC/tideini.F90
r6486 r9366 19 19 20 20 IMPLICIT NONE 21 PRIVATE init_namelist 21 22 PUBLIC 22 23 … … 65 66 ! 66 67 ! Read Namelist nam_tide 67 REWIND( numnam_ref ) ! Namelist nam_tide in reference namelist : Tides 68 READ ( numnam_ref, nam_tide, IOSTAT = ios, ERR = 901) 69 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in reference namelist', lwp ) 68 IF(lwm) THEN 69 REWIND( numnam_ref ) ! Namelist nam_tide in reference namelist : Tides 70 READ ( numnam_ref, nam_tide, IOSTAT = ios, ERR = 901) 71 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in reference namelist', lwm ) 72 REWIND( numnam_cfg ) ! Namelist nam_tide in configuration namelist : Tides 73 READ ( numnam_cfg, nam_tide, IOSTAT = ios, ERR = 902 ) 74 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in configuration namelist', lwm ) 75 ENDIF 70 76 71 REWIND( numnam_cfg ) ! Namelist nam_tide in configuration namelist : Tides72 READ ( numnam_cfg, nam_tide, IOSTAT = ios, ERR = 902 )73 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nam_tide in configuration namelist', lwp )74 77 IF(lwm) WRITE ( numond, nam_tide ) 75 78 ! 79 CALL init_namelist(clname) 80 76 81 nb_harmo=0 77 82 DO jk = 1, jpmax_harmo … … 115 120 ! 116 121 END SUBROUTINE tide_init 117 122 123 SUBROUTINE init_namelist(cdname) 124 !!--------------------------------------------------------------------- 125 !! *** ROUTINE init_namelist *** 126 !! 127 !! ** Purpose : Broadcast namelist variables read by procesor lwm 128 !! 129 !! ** Method : use lib_mpp 130 !!---------------------------------------------------------------------- 131 CHARACTER(LEN=4), DIMENSION(jpmax_harmo), INTENT(INOUT) :: cdname 132 INTEGER :: il 133 134 #if defined key_mpp_mpi 135 CALL mpp_bcast(ln_tide_pot) 136 CALL mpp_bcast(ln_tide_ramp) 137 CALL mpp_bcast(rdttideramp) 138 DO il = 1, jpmax_harmo 139 CALL mpp_bcast(cdname(il), 4) 140 ENDDO 141 #endif 142 END SUBROUTINE init_namelist 143 118 144 !!====================================================================== 119 145 END MODULE tideini -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/SOL/solver.F90
r6498 r9366 29 29 30 30 IMPLICIT NONE 31 PRIVATE solver_namelist 31 32 32 33 !!---------------------------------------------------------------------- … … 62 63 CALL ctl_opn( numsol, 'solver.stat', 'REPLACE', 'FORMATTED', 'SEQUENTIAL', -1, numout, lwp, narea ) 63 64 ENDIF 65 IF(lwm) THEN 66 REWIND( numnam_ref ) ! Namelist namsol in reference namelist : Elliptic solver / free surface 67 READ ( numnam_ref, namsol, IOSTAT = ios, ERR = 901) 68 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsol in reference namelist', lwm ) 69 REWIND( numnam_cfg ) ! Namelist namsol in configuration namelist : Elliptic solver / free surface 70 READ ( numnam_cfg, namsol, IOSTAT = ios, ERR = 902 ) 71 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsol in configuration namelist', lwm ) 72 ENDIF 64 73 65 REWIND( numnam_ref ) ! Namelist namsol in reference namelist : Elliptic solver / free surface 66 READ ( numnam_ref, namsol, IOSTAT = ios, ERR = 901) 67 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsol in reference namelist', lwp ) 74 IF(lwm) WRITE ( numond, namsol ) 68 75 69 REWIND( numnam_cfg ) ! Namelist namsol in configuration namelist : Elliptic solver / free surface 70 READ ( numnam_cfg, namsol, IOSTAT = ios, ERR = 902 ) 71 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsol in configuration namelist', lwp ) 72 IF(lwm) WRITE ( numond, namsol ) 76 call solver_namelist() 73 77 74 78 IF(lwp) THEN !* Control print … … 128 132 ! 129 133 END SUBROUTINE solver_init 134 135 SUBROUTINE solver_namelist() 136 !!--------------------------------------------------------------------- 137 !! *** ROUTINE solver_namelist *** 138 !! 139 !! ** Purpose : Broadcast namelist variables read by procesor lwm 140 !! 141 !! ** Method : use lib_mpp 142 !!---------------------------------------------------------------------- 143 #if defined key_mpp_mpi 144 CALL mpp_bcast(nn_solv) 145 CALL mpp_bcast(nn_sol_arp) 146 CALL mpp_bcast(nn_nmin) 147 CALL mpp_bcast(nn_nmax) 148 CALL mpp_bcast(nn_nmod) 149 CALL mpp_bcast(rn_eps) 150 CALL mpp_bcast(rn_resmax) 151 CALL mpp_bcast(rn_sor) 152 #endif 153 END SUBROUTINE solver_namelist 130 154 #endif 131 155 -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/STO/stopar.F90
r6487 r9366 30 30 PUBLIC sto_par ! called by step.F90 31 31 PUBLIC sto_rst_write ! called by step.F90 32 PRIVATE par_namelist 32 33 33 34 LOGICAL :: ln_rststo = .FALSE. ! restart stochastic parameters from restart file … … 261 262 262 263 ! Read namsto namelist : stochastic parameterization 263 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 264 READ ( numnam_ref, namsto, IOSTAT = ios, ERR = 901) 265 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in reference namelist', lwp ) 266 267 REWIND( numnam_cfg ) ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme 268 READ ( numnam_cfg, namsto, IOSTAT = ios, ERR = 902 ) 269 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in configuration namelist', lwp ) 264 IF(lwm) THEN 265 REWIND( numnam_ref ) ! Namelist namdyn_adv in reference namelist : Momentum advection scheme 266 READ ( numnam_ref, namsto, IOSTAT = ios, ERR = 901) 267 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in reference namelist', lwm ) 268 REWIND( numnam_cfg ) ! Namelist namdyn_adv in configuration namelist : Momentum advection scheme 269 READ ( numnam_cfg, namsto, IOSTAT = ios, ERR = 902 ) 270 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namsto in configuration namelist', lwm ) 271 ENDIF 270 272 IF(lwm) WRITE ( numond, namsto ) 271 273 272 274 !IF(ln_ens_rst_in) cn_storst_in = cn_mem//cn_storst_in 275 276 call par_namelist() 273 277 274 278 ! Parameter print … … 899 903 END FUNCTION sto_par_flt_fac 900 904 905 SUBROUTINE par_namelist() 906 !!--------------------------------------------------------------------- 907 !! *** ROUTINE par_namelist *** 908 !! 909 !! ** Purpose : Broadcast namelist variables read by procesor lwm 910 !! 911 !! ** Method : use lib_mpp 912 !!---------------------------------------------------------------------- 913 #if defined key_mpp_mpi 914 CALL mpp_bcast(ln_sto_ldf) 915 CALL mpp_bcast(rn_ldf_std) 916 CALL mpp_bcast(rn_ldf_tcor) 917 CALL mpp_bcast(ln_sto_hpg) 918 CALL mpp_bcast(rn_hpg_std) 919 CALL mpp_bcast(rn_hpg_tcor) 920 CALL mpp_bcast(ln_sto_pstar) 921 CALL mpp_bcast(rn_pstar_std) 922 CALL mpp_bcast(rn_pstar_tcor) 923 CALL mpp_bcast(nn_pstar_flt) 924 CALL mpp_bcast(nn_pstar_ord) 925 CALL mpp_bcast(ln_sto_trd) 926 CALL mpp_bcast(rn_trd_std) 927 CALL mpp_bcast(rn_trd_tcor) 928 CALL mpp_bcast(ln_sto_eos) 929 CALL mpp_bcast(nn_sto_eos) 930 CALL mpp_bcast(rn_eos_stdxy) 931 CALL mpp_bcast(rn_eos_stdz) 932 CALL mpp_bcast(rn_eos_tcor) 933 CALL mpp_bcast(nn_eos_ord) 934 CALL mpp_bcast(nn_eos_flt) 935 CALL mpp_bcast(rn_eos_lim) 936 CALL mpp_bcast(ln_sto_trc) 937 CALL mpp_bcast(nn_sto_trc) 938 CALL mpp_bcast(rn_trc_stdxy) 939 CALL mpp_bcast(rn_trc_stdz) 940 CALL mpp_bcast(rn_trc_tcor) 941 CALL mpp_bcast(nn_trc_ord) 942 CALL mpp_bcast(nn_trc_flt) 943 CALL mpp_bcast(rn_trc_lim) 944 CALL mpp_bcast(ln_rststo) 945 CALL mpp_bcast(ln_rstseed) 946 CALL mpp_bcast(cn_storst_in, 32) 947 CALL mpp_bcast(cn_storst_out, 32) 948 #endif 949 END SUBROUTINE par_namelist 901 950 902 951 END MODULE stopar -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/eosbn2.F90
r6793 r9366 53 53 IMPLICIT NONE 54 54 PRIVATE 55 PRIVATE bn2_namelist 55 56 56 57 ! !! * Interface … … 1232 1233 !!---------------------------------------------------------------------- 1233 1234 ! 1234 REWIND( numnam_ref ) ! Namelist nameos in reference namelist : equation of state 1235 READ ( numnam_ref, nameos, IOSTAT = ios, ERR = 901 ) 1236 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in reference namelist', lwp ) 1237 ! 1238 REWIND( numnam_cfg ) ! Namelist nameos in configuration namelist : equation of state 1239 READ ( numnam_cfg, nameos, IOSTAT = ios, ERR = 902 ) 1240 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist', lwp ) 1235 IF(lwm) THEN 1236 REWIND( numnam_ref ) ! Namelist nameos in reference namelist : equation of state 1237 READ ( numnam_ref, nameos, IOSTAT = ios, ERR = 901 ) 1238 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in reference namelist', lwm ) 1239 REWIND( numnam_cfg ) ! Namelist nameos in configuration namelist : equation of state 1240 READ ( numnam_cfg, nameos, IOSTAT = ios, ERR = 902 ) 1241 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nameos in configuration namelist', lwm ) 1242 ENDIF 1241 1243 IF(lwm) WRITE( numond, nameos ) 1242 1244 ! … … 1244 1246 rcp = 3991.86795711963_wp !: heat capacity [J/K] 1245 1247 ! 1248 call bn2_namelist() 1249 1246 1250 IF(lwp) THEN ! Control print 1247 1251 WRITE(numout,*) … … 1675 1679 END SUBROUTINE eos_init 1676 1680 1681 SUBROUTINE bn2_namelist() 1682 !!--------------------------------------------------------------------- 1683 !! *** ROUTINE bn2_namelist *** 1684 !! 1685 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1686 !! 1687 !! ** Method : use lib_mpp 1688 !!---------------------------------------------------------------------- 1689 #if defined key_mpp_mpi 1690 CALL mpp_bcast(nn_eos) 1691 CALL mpp_bcast(ln_useCT) 1692 CALL mpp_bcast(rn_a0) 1693 CALL mpp_bcast(rn_b0) 1694 CALL mpp_bcast(rn_lambda1) 1695 CALL mpp_bcast(rn_mu1) 1696 CALL mpp_bcast(rn_lambda2) 1697 CALL mpp_bcast(rn_mu2) 1698 CALL mpp_bcast(rn_nu) 1699 #endif 1700 END SUBROUTINE bn2_namelist 1677 1701 !!====================================================================== 1678 1702 END MODULE eosbn2 -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/traadv.F90
r8243 r9366 44 44 PUBLIC tra_adv ! routine called by step module 45 45 PUBLIC tra_adv_init ! routine called by opa module 46 PRIVATE adv_namelist 46 47 47 48 ! !!* Namelist namtra_adv * … … 195 196 & ln_traadv_msc_ups, ln_traadv_tvd_zts 196 197 !!---------------------------------------------------------------------- 197 198 REWIND( numnam_ref ) ! Namelist namtra_adv in reference namelist : Tracer advection scheme199 READ ( numnam_ref, namtra_adv, IOSTAT = ios, ERR = 901)200 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in reference namelist', lwp)201 202 REWIND( numnam_cfg ) ! Namelist namtra_adv in configuration namelist : Tracer advection scheme203 READ ( numnam_cfg, namtra_adv, IOSTAT = ios, ERR = 902)204 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in configuration namelist', lwp ) 198 IF(lwm) THEN 199 REWIND( numnam_ref ) ! Namelist namtra_adv in reference namelist : Tracer advection scheme 200 READ ( numnam_ref, namtra_adv, IOSTAT = ios, ERR = 901) 201 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in reference namelist', lwm ) 202 REWIND( numnam_cfg ) ! Namelist namtra_adv in configuration namelist : Tracer advection scheme 203 READ ( numnam_cfg, namtra_adv, IOSTAT = ios, ERR = 902 ) 204 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv in configuration namelist', lwm ) 205 ENDIF 205 206 IF(lwm) WRITE ( numond, namtra_adv ) 207 208 call adv_namelist() 206 209 207 210 IF(lwp) THEN ! Namelist print … … 262 265 END SUBROUTINE tra_adv_init 263 266 267 SUBROUTINE adv_namelist() 268 !!--------------------------------------------------------------------- 269 !! *** ROUTINE adv_namelist *** 270 !! 271 !! ** Purpose : Broadcast namelist variables read by procesor lwm 272 !! 273 !! ** Method : use lib_mpp 274 !!---------------------------------------------------------------------- 275 #if defined key_mpp_mpi 276 CALL mpp_bcast(ln_traadv_cen2) 277 CALL mpp_bcast(ln_traadv_tvd) 278 CALL mpp_bcast(ln_traadv_muscl) 279 CALL mpp_bcast(ln_traadv_muscl2) 280 CALL mpp_bcast(ln_traadv_ubs) 281 CALL mpp_bcast(ln_traadv_qck) 282 CALL mpp_bcast(ln_traadv_msc_ups) 283 CALL mpp_bcast(ln_traadv_tvd_zts) 284 #endif 285 END SUBROUTINE adv_namelist 286 264 287 !!====================================================================== 265 288 END MODULE traadv -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/traadv_mle.F90
r6486 r9366 27 27 PUBLIC tra_adv_mle ! routine called in traadv.F90 28 28 PUBLIC tra_adv_mle_init ! routine called in traadv.F90 29 PRIVATE mle_namelist 29 30 30 31 ! !!* namelist namtra_adv_mle * … … 282 283 !!---------------------------------------------------------------------- 283 284 284 285 REWIND( numnam_ref ) ! Namelist namtra_adv_mle in reference namelist : Tracer advection scheme286 READ ( numnam_ref, namtra_adv_mle, IOSTAT = ios, ERR = 901)287 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv_mle in reference namelist', lwp)288 289 REWIND( numnam_cfg ) ! Namelist namtra_adv_mle in configuration namelist : Tracer advection scheme290 READ ( numnam_cfg, namtra_adv_mle, IOSTAT = ios, ERR = 902)291 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv_mle in configuration namelist', lwp ) 285 IF(lwm) THEN 286 REWIND( numnam_ref ) ! Namelist namtra_adv_mle in reference namelist : Tracer advection scheme 287 READ ( numnam_ref, namtra_adv_mle, IOSTAT = ios, ERR = 901) 288 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv_mle in reference namelist', lwm ) 289 REWIND( numnam_cfg ) ! Namelist namtra_adv_mle in configuration namelist : Tracer advection scheme 290 READ ( numnam_cfg, namtra_adv_mle, IOSTAT = ios, ERR = 902 ) 291 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_adv_mle in configuration namelist', lwm ) 292 ENDIF 292 293 IF(lwm) WRITE ( numond, namtra_adv_mle ) 294 295 call mle_namelist() 293 296 294 297 IF(lwp) THEN ! Namelist print … … 357 360 END SUBROUTINE tra_adv_mle_init 358 361 362 SUBROUTINE mle_namelist() 363 !!--------------------------------------------------------------------- 364 !! *** ROUTINE mle_namelist *** 365 !! 366 !! ** Purpose : Broadcast namelist variables read by procesor lwm 367 !! 368 !! ** Method : use lib_mpp 369 !!---------------------------------------------------------------------- 370 #if defined key_mpp_mpi 371 CALL mpp_bcast(ln_mle) 372 CALL mpp_bcast(nn_mle) 373 CALL mpp_bcast(rn_ce) 374 CALL mpp_bcast(rn_lf) 375 CALL mpp_bcast(rn_time) 376 CALL mpp_bcast(rn_lat) 377 CALL mpp_bcast(nn_mld_uv) 378 CALL mpp_bcast(nn_conv) 379 CALL mpp_bcast(rn_rho_c_mle) 380 #endif 381 END SUBROUTINE mle_namelist 359 382 !!============================================================================== 360 383 END MODULE traadv_mle -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/trabbc.F90
r6486 r9366 34 34 PUBLIC tra_bbc ! routine called by step.F90 35 35 PUBLIC tra_bbc_init ! routine called by opa.F90 36 PRIVATE bbc_namelist 36 37 37 38 ! !!* Namelist nambbc: bottom boundary condition * … … 139 140 NAMELIST/nambbc/ln_trabbc, nn_geoflx, rn_geoflx_cst, sn_qgh, cn_dir 140 141 !!---------------------------------------------------------------------- 141 142 REWIND( numnam_ref ) ! Namelist nambbc in reference namelist : Bottom momentum boundary condition143 READ ( numnam_ref, nambbc, IOSTAT = ios, ERR = 901)144 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in reference namelist', lwp)145 146 REWIND( numnam_cfg ) ! Namelist nambbc in configuration namelist : Bottom momentum boundary condition147 READ ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902)148 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in configuration namelist', lwp ) 142 IF(lwm) THEN 143 REWIND( numnam_ref ) ! Namelist nambbc in reference namelist : Bottom momentum boundary condition 144 READ ( numnam_ref, nambbc, IOSTAT = ios, ERR = 901) 145 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in reference namelist', lwm ) 146 REWIND( numnam_cfg ) ! Namelist nambbc in configuration namelist : Bottom momentum boundary condition 147 READ ( numnam_cfg, nambbc, IOSTAT = ios, ERR = 902 ) 148 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbc in configuration namelist', lwm ) 149 ENDIF 149 150 IF(lwm) WRITE ( numond, nambbc ) 151 152 call bbc_namelist(sn_qgh, cn_dir) 150 153 151 154 IF(lwp) THEN ! Control print … … 199 202 END SUBROUTINE tra_bbc_init 200 203 204 SUBROUTINE bbc_namelist(sd_qgh, cd_dir) 205 !!--------------------------------------------------------------------- 206 !! *** ROUTINE bbc_namelist *** 207 !! 208 !! ** Purpose : Broadcast namelist variables read by procesor lwm 209 !! 210 !! ** Method : use lib_mpp 211 !!---------------------------------------------------------------------- 212 TYPE(FLD_N) :: sd_qgh ! informations about the geotherm. field to be read 213 CHARACTER(len=256) :: cd_dir ! Root directory for location of ssr files 214 215 #if defined key_mpp_mpi 216 CALL mpp_bcast(ln_trabbc) 217 CALL mpp_bcast(nn_geoflx) 218 CALL mpp_bcast(rn_geoflx_cst) 219 CALL fld_n_bcast(sd_qgh) 220 CALL mpp_bcast(cd_dir, 256) 221 #endif 222 END SUBROUTINE bbc_namelist 223 201 224 !!====================================================================== 202 225 END MODULE trabbc -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/trabbl.F90
r6486 r9366 48 48 PUBLIC tra_bbl_adv ! - - - - 49 49 PUBLIC bbl ! routine called by trcbbl.F90 and dtadyn.F90 50 PRIVATE bbl_namelist 50 51 51 52 LOGICAL, PUBLIC, PARAMETER :: lk_trabbl = .TRUE. !: bottom boundary layer flag … … 508 509 CALL wrk_alloc( jpi, jpj, zmbk ) 509 510 ! 510 511 REWIND( numnam_ref ) ! Namelist nambbl in reference namelist : Bottom boundary layer scheme 512 READ ( numnam_ref, nambbl, IOSTAT = ios, ERR = 901) 513 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in reference namelist', lwp ) 514 515 REWIND( numnam_cfg ) ! Namelist nambbl in configuration namelist : Bottom boundary layer scheme 516 READ ( numnam_cfg, nambbl, IOSTAT = ios, ERR = 902 ) 517 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in configuration namelist', lwp ) 511 IF(lwm) THEN 512 REWIND( numnam_ref ) ! Namelist nambbl in reference namelist : Bottom boundary layer scheme 513 READ ( numnam_ref, nambbl, IOSTAT = ios, ERR = 901) 514 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in reference namelist', lwm ) 515 REWIND( numnam_cfg ) ! Namelist nambbl in configuration namelist : Bottom boundary layer scheme 516 READ ( numnam_cfg, nambbl, IOSTAT = ios, ERR = 902 ) 517 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambbl in configuration namelist', lwm ) 518 ENDIF 519 518 520 IF(lwm) WRITE ( numond, nambbl ) 519 521 ! 522 CALL bbl_namelist() 523 520 524 l_bbl = .TRUE. !* flag to compute bbl coef and transport 521 525 ! … … 599 603 END SUBROUTINE tra_bbl_init 600 604 605 SUBROUTINE bbl_namelist() 606 !!--------------------------------------------------------------------- 607 !! *** ROUTINE bbl_namelist *** 608 !! 609 !! ** Purpose : Broadcast namelist variables read by procesor lwm 610 !! 611 !! ** Method : use lib_mpp 612 !!---------------------------------------------------------------------- 613 #if defined key_mpp_mpi 614 CALL mpp_bcast(nn_bbl_ldf) 615 CALL mpp_bcast(nn_bbl_adv) 616 CALL mpp_bcast(rn_ahtbbl) 617 CALL mpp_bcast(rn_gambbl) 618 #endif 619 END SUBROUTINE bbl_namelist 620 601 621 #else 602 622 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/tradmp.F90
r6486 r9366 43 43 PUBLIC tra_dmp ! routine called by step.F90 44 44 PUBLIC tra_dmp_init ! routine called by opa.F90 45 PRIVATE dmp_namelist 45 46 46 47 ! !!* Namelist namtra_dmp : T & S newtonian damping * … … 196 197 !!---------------------------------------------------------------------- 197 198 ! 198 REWIND( numnam_ref ) ! Namelist namtra_dmp in reference namelist : T & S relaxation 199 READ ( numnam_ref, namtra_dmp, IOSTAT = ios, ERR = 901) 200 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in reference namelist', lwp ) 201 ! 202 REWIND( numnam_cfg ) ! Namelist namtra_dmp in configuration namelist : T & S relaxation 203 READ ( numnam_cfg, namtra_dmp, IOSTAT = ios, ERR = 902 ) 204 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist', lwp ) 199 IF(lwm) THEN 200 REWIND( numnam_ref ) ! Namelist namtra_dmp in reference namelist : T & S relaxation 201 READ ( numnam_ref, namtra_dmp, IOSTAT = ios, ERR = 901) 202 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in reference namelist', lwm ) 203 REWIND( numnam_cfg ) ! Namelist namtra_dmp in configuration namelist : T & S relaxation 204 READ ( numnam_cfg, namtra_dmp, IOSTAT = ios, ERR = 902 ) 205 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_dmp in configuration namelist', lwm ) 206 ENDIF 207 205 208 IF(lwm) WRITE ( numond, namtra_dmp ) 209 210 call dmp_namelist() 206 211 207 212 IF(lwp) THEN !Namelist print … … 247 252 END SUBROUTINE tra_dmp_init 248 253 254 SUBROUTINE dmp_namelist() 255 !!--------------------------------------------------------------------- 256 !! *** ROUTINE dmp_namelist *** 257 !! 258 !! ** Purpose : Broadcast namelist variables read by procesor lwm 259 !! 260 !! ** Method : use lib_mpp 261 !!---------------------------------------------------------------------- 262 #if defined key_mpp_mpi 263 CALL mpp_bcast(ln_tradmp) 264 CALL mpp_bcast(nn_zdmp) 265 CALL mpp_bcast(cn_resto, 200) 266 #endif 267 END SUBROUTINE dmp_namelist 268 249 269 END MODULE tradmp -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRA/traqsr.F90
r8243 r9366 40 40 PUBLIC tra_qsr ! routine called by step.F90 (ln_traqsr=T) 41 41 PUBLIC tra_qsr_init ! routine called by nemogcm.F90 42 PRIVATE qsr_namelist 42 43 43 44 ! !!* Namelist namtra_qsr: penetrative solar radiation … … 434 435 ! 435 436 ln_qsr_ice = .FALSE. 436 REWIND( numnam_ref ) ! Namelist namtra_qsr in reference namelist : Ratio and length of penetration 437 READ ( numnam_ref, namtra_qsr, IOSTAT = ios, ERR = 901) 438 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in reference namelist', lwp ) 439 440 REWIND( numnam_cfg ) ! Namelist namtra_qsr in configuration namelist : Ratio and length of penetration 441 READ ( numnam_cfg, namtra_qsr, IOSTAT = ios, ERR = 902 ) 442 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist', lwp ) 437 IF(lwm) THEN 438 REWIND( numnam_ref ) ! Namelist namtra_qsr in reference namelist : Ratio and length of penetration 439 READ ( numnam_ref, namtra_qsr, IOSTAT = ios, ERR = 901) 440 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in reference namelist', lwm ) 441 REWIND( numnam_cfg ) ! Namelist namtra_qsr in configuration namelist : Ratio and length of penetration 442 READ ( numnam_cfg, namtra_qsr, IOSTAT = ios, ERR = 902 ) 443 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtra_qsr in configuration namelist', lwm ) 444 ENDIF 445 443 446 IF(lwm) WRITE ( numond, namtra_qsr ) 444 447 ! 448 CALL qsr_namelist(sn_chl, cn_dir) 449 445 450 IF(lwp) THEN ! control print 446 451 WRITE(numout,*) … … 624 629 END SUBROUTINE tra_qsr_init 625 630 631 SUBROUTINE qsr_namelist(sd_chl, cd_dir) 632 !!--------------------------------------------------------------------- 633 !! *** ROUTINE qsr_namelist *** 634 !! 635 !! ** Purpose : Broadkast namelist variables read by procesor lwm 636 !! 637 !! ** Method : use lib_mpp 638 !!---------------------------------------------------------------------- 639 CHARACTER(len=100) :: cd_dir ! Root directory for location of ssr files 640 TYPE(FLD_N) :: sd_chl ! informations about the chlorofyl field to be read 641 #if defined key_mpp_mpi 642 CALL fld_n_bcast(sd_chl) 643 CALL mpp_bcast(cd_dir, 100) 644 CALL mpp_bcast(ln_traqsr) 645 CALL mpp_bcast(ln_qsr_rgb) 646 CALL mpp_bcast(ln_qsr_2bd) 647 CALL mpp_bcast(ln_qsr_bio) 648 CALL mpp_bcast(ln_qsr_ice) 649 CALL mpp_bcast(nn_chldta) 650 CALL mpp_bcast(rn_abs) 651 CALL mpp_bcast(rn_si0) 652 CALL mpp_bcast(rn_si1) 653 CALL mpp_bcast(ln_qsr_sio) 654 #endif 655 END SUBROUTINE qsr_namelist 656 626 657 !!====================================================================== 627 658 END MODULE traqsr -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRD/trdini.F90
r7923 r9366 24 24 25 25 PUBLIC trd_init ! called by nemogcm.F90 module 26 PRIVATE ini_namelist 26 27 27 28 !! * Substitutions … … 47 48 !!---------------------------------------------------------------------- 48 49 ! 49 REWIND( numnam_ref ) ! Namelist namtrd in reference namelist : trends diagnostic 50 READ ( numnam_ref, namtrd, IOSTAT = ios, ERR = 901 ) 51 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in reference namelist', lwp ) 52 ! 53 REWIND( numnam_cfg ) ! Namelist namtrd in configuration namelist : trends diagnostic 54 READ ( numnam_cfg, namtrd, IOSTAT = ios, ERR = 902 ) 55 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in configuration namelist', lwp ) 50 IF(lwm) THEN 51 REWIND( numnam_ref ) ! Namelist namtrd in reference namelist : trends diagnostic 52 READ ( numnam_ref, namtrd, IOSTAT = ios, ERR = 901 ) 53 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in reference namelist', lwm ) 54 REWIND( numnam_cfg ) ! Namelist namtrd in configuration namelist : trends diagnostic 55 READ ( numnam_cfg, namtrd, IOSTAT = ios, ERR = 902 ) 56 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd in configuration namelist', lwm ) 57 ENDIF 58 56 59 IF(lwm) WRITE( numond, namtrd ) 57 60 ! 61 CALL ini_namelist() 62 58 63 IF(lwp) THEN ! control print 59 64 WRITE(numout,*) … … 104 109 END SUBROUTINE trd_init 105 110 111 SUBROUTINE ini_namelist() 112 !!--------------------------------------------------------------------- 113 !! *** ROUTINE ini_namelist *** 114 !! 115 !! ** Purpose : Broadcast namelist variables read by procesor lwm 116 !! 117 !! ** Method : use lib_mpp 118 !!---------------------------------------------------------------------- 119 #if defined key_mpp_mpi 120 CALL mpp_bcast(ln_dyn_trd) 121 CALL mpp_bcast(ln_KE_trd) 122 CALL mpp_bcast(ln_vor_trd) 123 CALL mpp_bcast(ln_dyn_mxl) 124 CALL mpp_bcast(ln_tra_trd) 125 CALL mpp_bcast(ln_PE_trd) 126 CALL mpp_bcast(ln_glo_trd) 127 CALL mpp_bcast(ln_tra_mxl) 128 CALL mpp_bcast(nn_trd) 129 #endif 130 END SUBROUTINE ini_namelist 131 106 132 !!====================================================================== 107 133 END MODULE trdini -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/TRD/trdmxl.F90
r6487 r9366 46 46 PUBLIC trd_mxl_init ! routine called by opa.F90 47 47 PUBLIC trd_mxl_zint ! routine called by tracers routines 48 PRIVATE mxl_namelist 48 49 49 50 INTEGER :: nkstp ! current time step … … 757 758 !!---------------------------------------------------------------------- 758 759 ! 759 REWIND( numnam_ref ) ! Namelist namtrd_mxl in reference namelist : mixed layer trends diagnostic 760 READ ( numnam_ref, namtrd_mxl, IOSTAT = ios, ERR = 901 ) 761 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in reference namelist', lwp ) 762 763 REWIND( numnam_cfg ) ! Namelist namtrd_mxl in configuration namelist : mixed layer trends diagnostic 764 READ ( numnam_cfg, namtrd_mxl, IOSTAT = ios, ERR = 902 ) 765 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in configuration namelist', lwp ) 760 IF(lwm) THEN 761 REWIND( numnam_ref ) ! Namelist namtrd_mxl in reference namelist : mixed layer trends diagnostic 762 READ ( numnam_ref, namtrd_mxl, IOSTAT = ios, ERR = 901 ) 763 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in reference namelist', lwm ) 764 REWIND( numnam_cfg ) ! Namelist namtrd_mxl in configuration namelist : mixed layer trends diagnostic 765 READ ( numnam_cfg, namtrd_mxl, IOSTAT = ios, ERR = 902 ) 766 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namtrd_mxl in configuration namelist', lwm ) 767 ENDIF 768 766 769 IF(lwm) WRITE( numond, namtrd_mxl ) 767 770 ! 771 call mxl_namelist() 772 768 773 IF(lwp) THEN ! control print 769 774 WRITE(numout,*) … … 896 901 END SUBROUTINE trd_mxl_init 897 902 903 SUBROUTINE mxl_namelist() 904 !!--------------------------------------------------------------------- 905 !! *** ROUTINE mxl_namelist *** 906 !! 907 !! ** Purpose : Broadcast namelist variables read by procesor lwm 908 !! 909 !! ** Method : use lib_mpp 910 !!---------------------------------------------------------------------- 911 #if defined key_mpp_mpi 912 CALL mpp_bcast(nn_trd) 913 CALL mpp_bcast(cn_trdrst_in, 32) 914 CALL mpp_bcast(ln_trdmxl_restart) 915 CALL mpp_bcast(nn_ctls) 916 CALL mpp_bcast(cn_trdrst_out, 32) 917 CALL mpp_bcast(ln_trdmxl_instant) 918 CALL mpp_bcast(rn_ucf) 919 CALL mpp_bcast(rn_rho_c) 920 #endif 921 END SUBROUTINE mxl_namelist 898 922 !!====================================================================== 899 923 END MODULE trdmxl -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfbfr.F90
r6486 r9366 32 32 PUBLIC zdf_bfr ! called by step.F90 33 33 PUBLIC zdf_bfr_init ! called by nemogcm.F90 34 PRIVATE bfr_namelist 34 35 35 36 ! !!* Namelist nambfr: bottom friction namelist * … … 250 251 ! !* Parameter control and print 251 252 ! 252 REWIND( numnam_ref ) ! Namelist nambfr in reference namelist : Bottom momentum boundary condition 253 READ ( numnam_ref, nambfr, IOSTAT = ios, ERR = 901) 254 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in reference namelist', lwp ) 255 256 REWIND( numnam_cfg ) ! Namelist nambfr in configuration namelist : Bottom momentum boundary condition 257 READ ( numnam_cfg, nambfr, IOSTAT = ios, ERR = 902 ) 258 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in configuration namelist', lwp ) 253 IF(lwm) THEN 254 REWIND( numnam_ref ) ! Namelist nambfr in reference namelist : Bottom momentum boundary condition 255 READ ( numnam_ref, nambfr, IOSTAT = ios, ERR = 901) 256 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in reference namelist', lwm ) 257 REWIND( numnam_cfg ) ! Namelist nambfr in configuration namelist : Bottom momentum boundary condition 258 READ ( numnam_cfg, nambfr, IOSTAT = ios, ERR = 902 ) 259 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambfr in configuration namelist', lwm ) 260 ENDIF 259 261 IF(lwm) WRITE ( numond, nambfr ) 262 263 CALL bfr_namelist() ! Broadcast namelist 264 260 265 IF(lwp) WRITE(numout,*) 261 266 IF(lwp) WRITE(numout,*) 'zdf_bfr_init : momentum bottom friction' … … 490 495 END SUBROUTINE zdf_bfr_init 491 496 497 SUBROUTINE bfr_namelist() 498 !!--------------------------------------------------------------------- 499 !! *** ROUTINE zdf_namelist *** 500 !! 501 !! ** Purpose : Broadcast namelist variables read by procesor lwm 502 !! 503 !! ** Method : use lib_mpp 504 !!---------------------------------------------------------------------- 505 #if defined key_mpp_mpi 506 CALL mpp_bcast(nn_bfr) 507 CALL mpp_bcast(rn_bfri1) 508 CALL mpp_bcast(rn_bfri2) 509 CALL mpp_bcast(rn_bfri2_max) 510 CALL mpp_bcast(rn_bfeb2) 511 CALL mpp_bcast(rn_bfrz0) 512 CALL mpp_bcast(ln_bfr2d) 513 CALL mpp_bcast(rn_tfri1) 514 CALL mpp_bcast(rn_tfri2) 515 CALL mpp_bcast(rn_tfri2_max) 516 CALL mpp_bcast(rn_tfeb2) 517 CALL mpp_bcast(rn_tfrz0) 518 CALL mpp_bcast(ln_tfr2d) 519 CALL mpp_bcast(rn_bfrien) 520 CALL mpp_bcast(rn_tfrien) 521 CALL mpp_bcast(ln_bfrimp) 522 CALL mpp_bcast(ln_loglayer) 523 #endif 524 END SUBROUTINE bfr_namelist 492 525 !!====================================================================== 493 526 END MODULE zdfbfr -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfddm.F90
r6498 r9366 34 34 PUBLIC zdf_ddm_init ! called by opa.F90 35 35 PUBLIC zdf_ddm_alloc ! called by nemogcm.F90 36 PRIVATE ddm_namelist 36 37 37 38 LOGICAL , PUBLIC, PARAMETER :: lk_zdfddm = .TRUE. !: double diffusive mixing flag … … 239 240 !!---------------------------------------------------------------------- 240 241 ! 241 REWIND( numnam_ref ) ! Namelist namzdf_ddm in reference namelist : Double diffusion mixing scheme 242 READ ( numnam_ref, namzdf_ddm, IOSTAT = ios, ERR = 901) 243 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in reference namelist', lwp ) 244 245 REWIND( numnam_cfg ) ! Namelist namzdf_ddm in configuration namelist : Double diffusion mixing scheme 246 READ ( numnam_cfg, namzdf_ddm, IOSTAT = ios, ERR = 902 ) 247 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in configuration namelist', lwp ) 242 IF(lwm) THEN 243 REWIND( numnam_ref ) ! Namelist namzdf_ddm in reference namelist : Double diffusion mixing scheme 244 READ ( numnam_ref, namzdf_ddm, IOSTAT = ios, ERR = 901) 245 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in reference namelist', lwm ) 246 REWIND( numnam_cfg ) ! Namelist namzdf_ddm in configuration namelist : Double diffusion mixing scheme 247 READ ( numnam_cfg, namzdf_ddm, IOSTAT = ios, ERR = 902 ) 248 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ddm in configuration namelist', lwm ) 249 ENDIF 250 248 251 IF(lwm) WRITE ( numond, namzdf_ddm ) 249 252 ! 253 254 CALL ddm_namelist() 255 250 256 IF(lwp) THEN ! Parameter print 251 257 WRITE(numout,*) … … 264 270 END SUBROUTINE zdf_ddm_init 265 271 272 SUBROUTINE ddm_namelist() 273 !!--------------------------------------------------------------------- 274 !! *** ROUTINE ddm_namelist *** 275 !! 276 !! ** Purpose : Broadcast namelist variables read by procesor lwm 277 !! 278 !! ** Method : use lib_mpp 279 !!---------------------------------------------------------------------- 280 #if defined key_mpp_mpi 281 CALL mpp_bcast(rn_avts) 282 CALL mpp_bcast(rn_hsbfr) 283 #endif 284 END SUBROUTINE ddm_namelist 266 285 #else 267 286 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
r7924 r9366 40 40 PUBLIC zdf_gls_init ! routine called in opa module 41 41 PUBLIC gls_rst ! routine called in step module 42 PRIVATE gls_namelist 42 43 43 44 LOGICAL , PUBLIC, PARAMETER :: lk_zdfgls = .TRUE. !: TKE vertical mixing flag … … 875 876 IF( nn_timing == 1 ) CALL timing_start('zdf_gls_init') 876 877 ! 877 REWIND( numnam_ref ) ! Namelist namzdf_gls in reference namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 878 READ ( numnam_ref, namzdf_gls, IOSTAT = ios, ERR = 901) 879 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in reference namelist', lwp ) 880 881 REWIND( numnam_cfg ) ! Namelist namzdf_gls in configuration namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 882 READ ( numnam_cfg, namzdf_gls, IOSTAT = ios, ERR = 902 ) 883 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist', lwp ) 878 IF(lwm) THEN 879 REWIND( numnam_ref ) ! Namelist namzdf_gls in reference namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 880 READ ( numnam_ref, namzdf_gls, IOSTAT = ios, ERR = 901) 881 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in reference namelist', lwm ) 882 883 REWIND( numnam_cfg ) ! Namelist namzdf_gls in configuration namelist : Vertical eddy diffivity and viscosity using gls turbulent closure scheme 884 READ ( numnam_cfg, namzdf_gls, IOSTAT = ios, ERR = 902 ) 885 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_gls in configuration namelist', lwm ) 886 ENDIF 887 884 888 IF(lwm) WRITE ( numond, namzdf_gls ) 889 890 CALL gls_namelist() 885 891 886 892 IF(lwp) THEN !* Control print … … 1221 1227 END SUBROUTINE gls_rst 1222 1228 1229 SUBROUTINE gls_namelist() 1230 !!--------------------------------------------------------------------- 1231 !! *** ROUTINE gls_namelist *** 1232 !! 1233 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1234 !! 1235 !! ** Method : use lib_mpp 1236 !!---------------------------------------------------------------------- 1237 #if defined key_mpp_mpi 1238 CALL mpp_bcast(rn_emin) 1239 CALL mpp_bcast(rn_epsmin) 1240 CALL mpp_bcast(ln_length_lim) 1241 CALL mpp_bcast(rn_clim_galp) 1242 CALL mpp_bcast(ln_sigpsi) 1243 CALL mpp_bcast(rn_hsro) 1244 CALL mpp_bcast(rn_crban) 1245 CALL mpp_bcast(rn_charn) 1246 CALL mpp_bcast(rn_frac_hs) 1247 CALL mpp_bcast(nn_bc_surf) 1248 CALL mpp_bcast(nn_bc_bot) 1249 CALL mpp_bcast(nn_z0_met) 1250 CALL mpp_bcast(nn_stab_func) 1251 CALL mpp_bcast(nn_clos) 1252 #endif 1253 END SUBROUTINE gls_namelist 1223 1254 #else 1224 1255 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfini.F90
r7924 r9366 35 35 36 36 PUBLIC zdf_init ! routine called by opa.F90 37 PRIVATE zdf_namelist 37 38 38 39 !!---------------------------------------------------------------------- … … 57 58 & ln_zdfevd, nn_evdm, rn_avevd, ln_zdfnpc, nn_npc, nn_npcp 58 59 !!---------------------------------------------------------------------- 59 60 REWIND( numnam_ref ) ! Namelist namzdf in reference namelist : Vertical mixing parameters 61 READ ( numnam_ref, namzdf, IOSTAT = ios, ERR = 901) 62 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in reference namelist', lwp ) 63 64 REWIND( numnam_cfg ) ! Namelist namzdf in reference namelist : Vertical mixing parameters 65 READ ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 66 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwp ) 60 IF(lwm) THEN 61 REWIND( numnam_ref ) ! Namelist namzdf in reference namelist : Vertical mixing parameters 62 READ ( numnam_ref, namzdf, IOSTAT = ios, ERR = 901) 63 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in reference namelist', lwm ) 64 REWIND( numnam_cfg ) ! Namelist namzdf in reference namelist : Vertical mixing parameters 65 READ ( numnam_cfg, namzdf, IOSTAT = ios, ERR = 902 ) 66 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf in configuration namelist', lwm ) 67 ENDIF 68 67 69 IF(lwm) WRITE ( numond, namzdf ) 70 71 CALL zdf_namelist() 68 72 69 73 IF(lwp) THEN !* Parameter print … … 189 193 END SUBROUTINE zdf_init 190 194 195 SUBROUTINE zdf_namelist() 196 !!--------------------------------------------------------------------- 197 !! *** ROUTINE zdf_namelist *** 198 !! 199 !! ** Purpose : Broadcast namelist variables read by procesor lwp 200 !! 201 !! ** Method : use lib_mpp 202 !!---------------------------------------------------------------------- 203 #if defined key_mpp_mpi 204 CALL mpp_bcast(rn_avm0) 205 CALL mpp_bcast(rn_avt0) 206 CALL mpp_bcast(nn_avb) 207 CALL mpp_bcast(nn_havtb) 208 CALL mpp_bcast(ln_zdfexp) 209 CALL mpp_bcast(nn_zdfexp) 210 CALL mpp_bcast(ln_zdfevd) 211 CALL mpp_bcast(nn_evdm) 212 CALL mpp_bcast(rn_avevd) 213 CALL mpp_bcast(ln_zdfnpc) 214 CALL mpp_bcast(nn_npc) 215 CALL mpp_bcast(nn_npcp) 216 #endif 217 END SUBROUTINE zdf_namelist 218 191 219 !!====================================================================== 192 220 END MODULE zdfini -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90
r6486 r9366 45 45 PUBLIC tra_kpp ! routine called by step.F90 46 46 PUBLIC trc_kpp ! routine called by trcstp.F90 47 PRIVATE kpp_namelist 47 48 48 49 LOGICAL , PUBLIC, PARAMETER :: lk_zdfkpp = .TRUE. !: KPP vertical mixing flag … … 1362 1363 IF( nn_timing == 1 ) CALL timing_start('zdf_kpp_init') 1363 1364 ! 1364 REWIND( numnam_ref ) ! Namelist namzdf_kpp in reference namelist : Vertical eddy diffivity and viscosity using kpp turbulent closure scheme 1365 READ ( numnam_ref, namzdf_kpp, IOSTAT = ios, ERR = 901) 1366 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in reference namelist', lwp ) 1367 1368 REWIND( numnam_cfg ) ! Namelist namzdf_kpp in configuration namelist : Vertical eddy diffivity and viscosity using kpp turbulent closure scheme 1369 READ ( numnam_cfg, namzdf_kpp, IOSTAT = ios, ERR = 902 ) 1370 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in configuration namelist', lwp ) 1365 IF(lwm) THEN 1366 REWIND( numnam_ref ) ! Namelist namzdf_kpp in reference namelist : Vertical eddy diffivity and viscosity using kpp turbulent closure scheme 1367 READ ( numnam_ref, namzdf_kpp, IOSTAT = ios, ERR = 901) 1368 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in reference namelist', lwm ) 1369 REWIND( numnam_cfg ) ! Namelist namzdf_kpp in configuration namelist : Vertical eddy diffivity and viscosity using kpp turbulent closure scheme 1370 READ ( numnam_cfg, namzdf_kpp, IOSTAT = ios, ERR = 902 ) 1371 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_kpp in configuration namelist', lwm ) 1372 ENDIF 1371 1373 IF(lwm) WRITE ( numond, namzdf_kpp ) 1374 1375 CALL kpp_namelist() 1372 1376 1373 1377 IF(lwp) THEN ! Control print … … 1569 1573 END SUBROUTINE zdf_kpp_init 1570 1574 1575 SUBROUTINE kpp_namelist() 1576 !!--------------------------------------------------------------------- 1577 !! *** ROUTINE kpp_namelist *** 1578 !! 1579 !! ** Purpose : Broadcast namelist variables read by procesor lwm 1580 !! 1581 !! ** Method : use lib_mpp 1582 !!---------------------------------------------------------------------- 1583 #if defined key_mpp_mpi 1584 CALL mpp_bcast(ln_kpprimix) 1585 CALL mpp_bcast(rn_difmiw) 1586 CALL mpp_bcast(rn_difsiw) 1587 CALL mpp_bcast(rn_riinfty) 1588 CALL mpp_bcast(rn_difri) 1589 CALL mpp_bcast(rn_bvsqcon) 1590 CALL mpp_bcast(rn_difcon) 1591 CALL mpp_bcast(nn_ave) 1592 #endif 1593 END SUBROUTINE kpp_namelist 1571 1594 #else 1572 1595 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfmxl.F90
r7923 r9366 29 29 PUBLIC zdf_mxl ! called by step.F90 30 30 PUBLIC zdf_mxl_alloc ! Used in zdf_tke_init 31 PRIVATE mxl_namelist 32 PRIVATE mxl_bcast 31 33 32 34 INTEGER , PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) :: nmln !: number of level in the mixed layer (used by TOP) … … 463 465 464 466 IF( kt == nit000 ) THEN 465 REWIND( numnam_ref ) ! Namelist namzdf_mldzint in reference namelist 466 READ ( numnam_ref, namzdf_mldzint, IOSTAT = ios, ERR = 901) 467 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_mldzint in reference namelist', lwp ) 468 469 REWIND( numnam_cfg ) ! Namelist namzdf_mldzint in configuration namelist 470 READ ( numnam_cfg, namzdf_mldzint, IOSTAT = ios, ERR = 902 ) 471 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_mldzint in configuration namelist', lwp ) 467 IF(lwm) THEN 468 REWIND( numnam_ref ) ! Namelist namzdf_mldzint in reference namelist 469 READ ( numnam_ref, namzdf_mldzint, IOSTAT = ios, ERR = 901) 470 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_mldzint in reference namelist', lwm ) 471 REWIND( numnam_cfg ) ! Namelist namzdf_mldzint in configuration namelist 472 READ ( numnam_cfg, namzdf_mldzint, IOSTAT = ios, ERR = 902 ) 473 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_mldzint in configuration namelist', lwm ) 474 ENDIF 475 472 476 IF(lwm) WRITE ( numond, namzdf_mldzint ) 477 478 CALL mxl_namelist(nn_mld_diag, sn_mld1, sn_mld2, sn_mld3, sn_mld4, sn_mld5) !broadcast namelist 473 479 474 480 IF( nn_mld_diag > 5 ) CALL ctl_stop( 'STOP', 'zdf_mxl_ini: Specify no more than 5 MLD definitions' ) … … 514 520 END SUBROUTINE zdf_mxl_zint 515 521 522 SUBROUTINE mxl_namelist(nd_mld_diag, sd_mld1, sd_mld2, sd_mld3, sd_mld4, sd_mld5) 523 !!--------------------------------------------------------------------- 524 !! *** ROUTINE mxl_namelist *** 525 !! 526 !! ** Purpose : Broadcast namelist variables read by procesor lwp 527 !! 528 !! ** Method : use lib_mpp 529 !!---------------------------------------------------------------------- 530 TYPE(MXL_ZINT) :: sd_mld1, sd_mld2, sd_mld3, sd_mld4, sd_mld5 531 INTEGER :: nd_mld_diag 532 #if defined key_mpp_mpi 533 call mpp_bcast(nd_mld_diag) 534 call mxl_bcast(sd_mld1) 535 call mxl_bcast(sd_mld2) 536 call mxl_bcast(sd_mld3) 537 call mxl_bcast(sd_mld4) 538 call mxl_bcast(sd_mld5) 539 #endif 540 END SUBROUTINE mxl_namelist 541 542 SUBROUTINE mxl_bcast(svar) 543 !!--------------------------------------------------------------------- 544 !! *** ROUTINE mxl_namelist *** 545 !! 546 !! ** Purpose : Broadcast namelist type read by procesor lwp 547 !! 548 !! ** Method : use lib_mpp 549 !!---------------------------------------------------------------------- 550 TYPE(MXL_ZINT), INTENT (INOUT) :: svar 551 #if defined key_mpp_mpi 552 call mpp_bcast(svar%mld_type) 553 call mpp_bcast(svar%zref) 554 call mpp_bcast(svar%dT_crit) 555 call mpp_bcast(svar%iso_frac) 556 #endif 557 END SUBROUTINE mxl_bcast 558 559 516 560 !!====================================================================== 517 561 END MODULE zdfmxl -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfric.F90
r6486 r9366 38 38 PUBLIC zdf_ric ! called by step.F90 39 39 PUBLIC zdf_ric_init ! called by opa.F90 40 PRIVATE ric_namelist 40 41 41 42 LOGICAL, PUBLIC, PARAMETER :: lk_zdfric = .TRUE. !: Richardson vertical mixing flag … … 253 254 !!---------------------------------------------------------------------- 254 255 ! 255 REWIND( numnam_ref ) ! Namelist namzdf_ric in reference namelist : Vertical diffusion Kz depends on Richardson number 256 READ ( numnam_ref, namzdf_ric, IOSTAT = ios, ERR = 901) 257 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in reference namelist', lwp ) 258 259 REWIND( numnam_cfg ) ! Namelist namzdf_ric in configuration namelist : Vertical diffusion Kz depends on Richardson number 260 READ ( numnam_cfg, namzdf_ric, IOSTAT = ios, ERR = 902 ) 261 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist', lwp ) 256 IF(lwm) THEN 257 REWIND( numnam_ref ) ! Namelist namzdf_ric in reference namelist : Vertical diffusion Kz depends on Richardson number 258 READ ( numnam_ref, namzdf_ric, IOSTAT = ios, ERR = 901) 259 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in reference namelist', lwm ) 260 REWIND( numnam_cfg ) ! Namelist namzdf_ric in configuration namelist : Vertical diffusion Kz depends on Richardson number 261 READ ( numnam_cfg, namzdf_ric, IOSTAT = ios, ERR = 902 ) 262 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_ric in configuration namelist', lwm ) 263 ENDIF 264 262 265 IF(lwm) WRITE ( numond, namzdf_ric ) 263 266 ! 267 CALL ric_namelist() 268 264 269 IF(lwp) THEN ! Control print 265 270 WRITE(numout,*) … … 300 305 END SUBROUTINE zdf_ric_init 301 306 307 SUBROUTINE ric_namelist() 308 !!--------------------------------------------------------------------- 309 !! *** ROUTINE ric_namelist *** 310 !! 311 !! ** Purpose : Broadcast namelist variables read by procesor lwm 312 !! 313 !! ** Method : use lib_mpp 314 !!---------------------------------------------------------------------- 315 #if defined key_mpp_mpi 316 CALL mpp_bcast(rn_avmri) 317 CALL mpp_bcast(rn_alp) 318 CALL mpp_bcast(nn_ric) 319 CALL mpp_bcast(rn_ekmfc) 320 CALL mpp_bcast(rn_mldmin) 321 CALL mpp_bcast(rn_mldmax) 322 CALL mpp_bcast(rn_wtmix) 323 CALL mpp_bcast(rn_wvmix) 324 CALL mpp_bcast(ln_mldw) 325 #endif 326 END SUBROUTINE ric_namelist 302 327 #else 303 328 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90
r8243 r9366 68 68 PUBLIC zdf_tke_init ! routine called in opa module 69 69 PUBLIC tke_rst ! routine called in step module 70 PRIVATE tke_namelist 70 71 71 72 LOGICAL , PUBLIC, PARAMETER :: lk_zdftke = .TRUE. !: TKE vertical mixing flag … … 780 781 & nn_etau , nn_htau , rn_efr , rn_c 781 782 !!---------------------------------------------------------------------- 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) 786 901 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 ) 789 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwm ) 790 ENDIF 791 790 792 IF(lwm) WRITE ( numond, namzdf_tke ) 793 ! Broadcast namelist 794 CALL tke_namelist() 791 795 ! 792 796 ri_cri = 2._wp / ( 2._wp + rn_ediss / rn_ediff ) ! resulting critical Richardson number … … 985 989 END SUBROUTINE tke_rst 986 990 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 987 1018 #else 988 1019 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftmx.F90
r7923 r9366 35 35 PUBLIC zdf_tmx_init ! called in opa module 36 36 PUBLIC zdf_tmx_alloc ! called in nemogcm module 37 PRIVATE tmx_namelist 37 38 38 39 LOGICAL, PUBLIC, PARAMETER :: lk_zdftmx = .TRUE. !: tidal mixing flag … … 380 381 CALL wrk_alloc( jpi,jpj, zem2, zek1, zkz, zfact, zhdep ) 381 382 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) 386 901 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 ) 389 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwm ) 390 ENDIF 391 392 IF(lwm) WRITE ( numond, namzdf_tmx ) 382 393 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() 391 395 392 396 IF(lwp) THEN ! Control print … … 560 564 ! 561 565 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 562 585 563 586 #elif defined key_zdftmx_new … … 966 989 IF( nn_timing == 1 ) CALL timing_start('zdf_tmx_init') 967 990 ! 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) 994 901 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 ) 998 902 IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tmx in configuration namelist', lwp ) 999 ENDIF 975 1000 IF(lwm) WRITE ( numond, namzdf_tmx_new ) 1001 1002 CALL tmx_namelist() 976 1003 ! 977 1004 IF(lwp) THEN ! Control print … … 1048 1075 END SUBROUTINE zdf_tmx_init 1049 1076 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 1050 1092 #else 1051 1093 !!---------------------------------------------------------------------- -
branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/nemogcm.F90
r8283 r9366 304 304 ENDIF 305 305 #endif 306 306 307 narea = narea + 1 ! mynode return the rank of proc (0 --> jpnij -1 ) 307 308 308 309 lwm = (narea == 1) ! control of output namelists 309 310 lwp = (narea == 1) .OR. ln_ctl ! control of all listing output print 311 !close namelist on processors other then lwm 312 IF( numnam_ref /= -1 .AND. narea /= 1 ) CLOSE( numnam_ref ) ! oce reference namelist 313 IF( numnam_cfg /= -1 .AND. narea /= 1 ) CLOSE( numnam_cfg ) ! oce configuration namelist 310 314 311 315 IF(lwm) THEN
Note: See TracChangeset
for help on using the changeset viewer.