Changeset 9366 for branches/UKMO/test_moci_test_suite_namelist_read/NEMOGCM/NEMO/OPA_SRC/DOM/domain.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/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
Note: See TracChangeset
for help on using the changeset viewer.