Custom Query (986 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (130 - 132 of 986)

Ticket Owner Reporter Resolution Summary
#183 arango m.hadfield Fixed Corrections to read_FloatsPar in inp_par.F
Description

The following addresses bounds-checking failures for the LAKE_SIGNELL case.

Subroutine read_FloatsPar in ROMS/Utility/inp_par.F reads data from the floats parameter file into local, allocatable variables Fcoor, Fcount, Ftype, Ft0, Fx0, Fy0, Fz0, Fdt, Fdx, Fdy and Fdz. Data is then copied from these variables into the structure variable FLT(ng).

The variables in question are allocated as follows (lines 7208-7218)

            allocate ( Fcoor (Npts,Ngrids) )
            allocate ( Fcount(Npts,Ngrids) )
            allocate ( Ftype (Npts,Ngrids) )
            allocate ( Ft0(Npts,Ngrids) )
            allocate ( Fx0(Npts,Ngrids) )
            allocate ( Fy0(Npts,Ngrids) )
            allocate ( Fz0(Npts,Ngrids) )
            allocate ( Fdt(Npts,Ngrids) )
            allocate ( Fdx(Npts,Ngrids) )
            allocate ( Fdy(Npts,Ngrids) )
            allocate ( Fdz(Npts,Ngrids) )

where Npts is equal to the maximum number of floats.

In fact, the first dimension of these variables does not have to be large enough to accommodate the number of floats, but only to accommodate the number of entries in the floats data file. It is assumed, obviously, that the latter can be be greater than the former. This assumption is normally very conservative, except that it does not allow for the fact that when the entries in the floats file are read, one extra entry is always read to trigger the ERR= or END= condition in the READ statement.

The floats data file for the LAKE_SIGNELL test case sets NFLOATS=4 and then has 4 entries sspecifying initial locations, with 1 float per entry. This cause the READ statement to be executed 5 times. If compiler bounds-checking is turned on, then the 5th time it is executed, there are out-of-bounds references to the arrays being read.

The solution is to increase the first dimension of these variables by 1:

            allocate ( Fcoor (Npts+1,Ngrids) )
            allocate ( Fcount(Npts+1,Ngrids) )
            allocate ( Ftype (Npts+1,Ngrids) )
            allocate ( Ft0(Npts+1,Ngrids) )
            allocate ( Fx0(Npts+1,Ngrids) )
            allocate ( Fy0(Npts+1,Ngrids) )
            allocate ( Fz0(Npts+1,Ngrids) )
            allocate ( Fdt(Npts+1,Ngrids) )
            allocate ( Fdx(Npts+1,Ngrids) )
            allocate ( Fdy(Npts+1,Ngrids) )
            allocate ( Fdz(Npts+1,Ngrids) )

Corrected file attached.

#184 arango arango Done Big IO update, parallel synchronization
Description

This is a big update to ROMS IO. It is part of the parallel IO that will be available in the near future. The synchronization with exit_flag is more rigorous now to avoid having the model to hang-up during MPI computations with IO problems.

I built an umbrella over all the non-tiled NetCDF IO manipulations. This will facilitate parallel IO and the code is much cleaner and elegant. All the NetCDF verbose calls are located in a single place (see all new routines in mod_netcdf) to read and write non-tiled variables.

I also added a generic logic for the IO of nested grids. See new IOBOUNDS structure in mod_param.F.

A new routine (def_dim.F) is provided to define any NetCDF dimension with the necessary parallel logic and error checking.

I also corrected few IO bugs.

I tried to test as much as I can. However, I didn't test all the possible combinations of CPP flags.

#185 arango arango Done IS4DVAR preconditioning
Description

We are now working on the preconditioning for the IS4DVAR algorithms. Andy Moore coded the spectral preconditioning.

I added two new files (def_lanczos.F and wrt_lanczos.F) to process the Lanczos vectors. We need both Lanczos vectors and Hessian eigenvectors to compute the preconditioning. More updates are coming soon.

Corrected a bug in the observation sensitivity driver. We need to added the spatial convolutions to the Lanczos vectors used to initialize the tangent linear model. The Lanczos vectors are in minimization space (v-space). Many thanks to Andy Moore for finding this problem

Batch Modify
Note: See TracBatchModify for help on using batch modify.
Note: See TracQuery for help on using queries.