Opened 12 years ago
Closed 12 years ago
#613 closed bug (Fixed)
IMPORTANT: Corrected miltifile option in parallel
Reported by: | arango | Owned by: | arango |
---|---|---|---|
Priority: | major | Milestone: | Release ROMS/TOMS 3.7 |
Component: | Nonlinear | Version: | 3.7 |
Keywords: | Cc: |
Description
Corrected few things:
- The internal logical switch ObcData(ng), used to check if boundary conditions NetCDF files are needed, was only computed by the Master node in distributed-memory applications. This introduced a parallel bug in new routine check_multifile, introduced last week. The statements to set ObcData are moved from the master node standout printing section in read_phypar. In this way, all the distributed memory nodes compute the ObcData logical switch.
- WARNING: Added a new argument to function load_s2d, which is part of inp_par.F. In routine read_phypar now we have:
CASE ('NFFILES') Npts=load_i(Nval, Rval, Ngrids, nFfiles) DO ng=1,Ngrids IF (nFfiles(ng).le.0) THEN IF (Master) WRITE (out,260) 'NFFILES', nFfiles(ng), & & 'Must be equal or greater than one.' exit_flag=4 RETURN END IF END DO max_Ffiles=MAXVAL(nFfiles) allocate ( FRC(max_Ffiles,Ngrids) ) allocate ( FRCids(max_Ffiles,Ngrids) ) allocate ( Ncount(max_Ffiles,Ngrids) ) FRCids(1:max_Ffiles,1:Ngrids)=-1 Ncount(1:max_Ffiles,1:Ngrids)=0 CASE ('FRCNAME') label='FRC - forcing fields' Npts=load_s2d(Nval, Cval, line, label, ifile, igrid, & & nFfiles, Ncount, max_Ffiles, FRC)
This change is only relevant in nested applications to ensure that the correct initialization is done in load_s2d when the number of files to process in each grid is different. Notice that the loading function has now the following dummy qarguments:FUNCTION load_s2d (Nval, Fname, line, label, ifile, igrid, & & Nfiles, Ncount, idim, S) ! !======================================================================= ! ! ! This function loads input values into requested 2D structure ! ! containing information about input forcing files. ! ! ! ! On Input: ! ! ! ! Nval Number of values processed (integer) ! ! Fname File name(s) processed (string array) ! ! line Current input line (string) ! ! label I/O structure label (string) ! ! ifile File structure counter (integer) ! ! igrid Nested grid counter (integer) ! ! Nfiles Number of input files per grid (integer vector) ! ! Ncount Number of files per grid counter (integer array) ! ! idim Size of structure inner dimension (integer) ! ! S Derived type structure, TYPE(T_IO) ! ! ! ! On Output: ! ! ! ! ifile Updated file counter. ! ! igrid Updated nested grid counter. ! ! S Updated derived type structure, TYPE(T_IO). ! ! load_s2d Number of output values processed. ! ! ! !======================================================================= !
- Added logic to mod_tides.F and set_tides.F so tidal data is only processed, if applicable, in the coarser grid in refinement applications. It doesn't make sense for refinement grids to process tidal forcing data from NetCDF files. The tidal forcing is done via the coarser donor grid. Recall that in refinement grids, the lateral boundary conditions are processed differently.
Note:
See TracTickets
for help on using tickets.