Changeset 9366 for branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/BDY/bdydta.F90
- Timestamp:
- 2018-02-28T16:29:13+01:00 (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.