[MITgcm-support] MDSREADFIELD and array sizes

Ed Hill ed at eh3.com
Wed Aug 9 20:13:39 EDT 2006


On Wed, 2006-08-09 at 14:42 -0700, Dmitri Leonov wrote:
> Hi Matthew,
> 
> I think my question was about arrays of sizes (Nx+1,Ny), (Nx,Ny+1) and 
> (Nx+1,Ny+1). I couldn't find consistent way of initializing them using mds.

Hi Dmitri,

Actually, the mdsio routines *can* handle most of the "+1" cases that
you describe above.  Specifically, given the "standard" cube orientation
that we use, all values on U,V, and Mass points ("staggerings") are
written and read using the MDSIO routines.  The exception is values at
vorticity (corner staggerings) which omit two (or is it three?) of the
corner values.  This is an annoyance but not a huge problem for initial
conditions or pickup/checkpoint files.

For the "+1" and other non-MDSIO I/O needs, there are a number of
routines including:

 1) READSYMTILE_RS in ini_curvilinear grid for the grid info
 2) the read facilities within the EXF package for forcing data
 3) the entire MNC package for netCDF IO (MNC is capable of 
    almost any shape that you'd care to define).

Of the three, the MNC package was designed to gracefully handle all the
"+1" cases (including vorticity staggerings) so you might want to look
into it.

Ed

-- 
Edward H. Hill III, PhD
office:  MIT Dept. of EAPS 54-1424;  77 Massachusetts Ave.
             Cambridge, MA 02139-4307
emails:  eh3 at mit.edu                ed at eh3.com
URLs:    http://web.mit.edu/eh3/    http://eh3.com/
phone:   617-253-0098
fax:     617-253-4464





More information about the MITgcm-support mailing list