﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
613	IMPORTANT: Corrected miltifile option in parallel	arango	arango	"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."	bug	closed	major	Release ROMS/TOMS 3.7	Nonlinear	3.7	Fixed		
