- Timestamp:
- 2019-11-25T18:19:39+01:00 (4 years ago)
- Location:
- NEMO/branches/2019/dev_r11943_MERGE_2019
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2019/dev_r11943_MERGE_2019
- Property svn:externals
-
old new 3 3 ^/utils/build/mk@HEAD mk 4 4 ^/utils/tools@HEAD tools 5 ^/vendors/AGRIF/dev @HEAD ext/AGRIF5 ^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD ext/AGRIF 6 6 ^/vendors/FCM@HEAD ext/FCM 7 7 ^/vendors/IOIPSL@HEAD ext/IOIPSL
-
- Property svn:externals
-
NEMO/branches/2019/dev_r11943_MERGE_2019/src/OCE/BDY/bdydta.F90
r11949 r11960 373 373 INTEGER :: ierror, ios ! 374 374 ! 375 INTEGER :: nbdy_rdstart, nbdy_loc 376 CHARACTER(LEN=50) :: cerrmsg ! error string 375 377 CHARACTER(len=3) :: cl3 ! 376 378 CHARACTER(len=100) :: cn_dir ! Root directory for location of data files … … 415 417 ! Read namelists 416 418 ! -------------- 417 REWIND(numnam_cfg)419 nbdy_rdstart = 1 418 420 DO jbdy = 1, nb_bdy 419 421 … … 421 423 WRITE(ctmp2, '(a,i2)') 'block nambdy_dta number ', jbdy 422 424 423 ! There is only one nambdy_dta block in namelist_ref -> use it for each bdy so we do a rewind 424 REWIND(numnam_ref) 425 ! There is only one nambdy_dta block in namelist_ref -> use it for each bdy so we read from the beginning 425 426 READ ( numnam_ref, nambdy_dta, IOSTAT = ios, ERR = 901) 426 427 901 IF( ios /= 0 ) CALL ctl_nam ( ios , 'nambdy_dta in reference namelist' ) … … 431 432 & .OR. ( dta_bdy(jbdy)%lneed_tra .AND. nn_tra_dta(jbdy) == 1 ) & 432 433 & .OR. ( dta_bdy(jbdy)%lneed_ice .AND. nn_ice_dta(jbdy) == 1 ) ) THEN 433 ! WARNING: we don't do a rewind here, each bdy reads its own nambdy_dta block one after another 434 READ ( numnam_cfg, nambdy_dta, IOSTAT = ios, ERR = 902 ) 434 ! 435 ! Need to support possibility of reading more than one 436 ! nambdy_dta from the namelist_cfg internal file. 437 ! Do this by finding the jbdy'th occurence of nambdy_dta in the 438 ! character buffer as the starting point. 439 ! 440 nbdy_loc = INDEX( numnam_cfg( nbdy_rdstart: ), 'nambdy_dta' ) 441 IF( nbdy_loc .GT. 0 ) THEN 442 nbdy_rdstart = nbdy_rdstart + nbdy_loc 443 ELSE 444 WRITE(cerrmsg,'(A,I4,A)') 'Error: entry number ',jbdy,' of nambdy_dta not found' 445 ios = -1 446 CALL ctl_nam ( ios , cerrmsg ) 447 ENDIF 448 READ ( numnam_cfg( MAX( 1, nbdy_rdstart - 2 ): ), nambdy_dta, IOSTAT = ios, ERR = 902) 435 449 902 IF( ios > 0 ) CALL ctl_nam ( ios , 'nambdy_dta in configuration namelist' ) 436 450 IF(lwm) WRITE( numond, nambdy_dta )
Note: See TracChangeset
for help on using the changeset viewer.