[MITgcm-devel] MDSIO questions
Jean-Michel Campin
jmc at ocean.mit.edu
Sun Oct 30 11:10:10 EST 2005
Hi Patrick, Dimitri, and others,
I looked to some routines in pkg/mdsio, and have few questions:
1) I don't see the purpose of S/R mdsio_writefield_loc.F
since mdsio_writefield.F (that call mdswritefield_new)
seems to do the same thing (or may be I misses something ?).
In addition, few bugs have been fixed in mdswritefield_new
but not in mdsio_writefield_loc.F, (.e.g.: after lines 186:
#if defined(ALLOW_EXCH2) && !defined(MISSING_TILE_IO)
DO J=1,Ny
DO I=1,Nx
xy_buffer_r4(I,J) = 0.0
ENDDO
ENDDO
should in fact be (like in mdswritefield_new):
#if defined(ALLOW_EXCH2) && !defined(MISSING_TILE_IO)
DO J=1,y_size
DO I=1,x_size
xy_buffer_r4(I,J) = 0.0
ENDDO
ENDDO
I was wondering if we can simplify the set of mdsio_writefield S/R
(one "main" S/R that really write and few other wrapper S/R that
call the main one).
The main reason would be to change the useSingleCpuIO part to make it
to work with #define RS_IS_REAL4 where _RS & _RL are effectively different.
2) mdsio_write_rl_vec.F & mdsio_write_rs_vec.F do not have the
#ifdef _BYTESWAPIO part,
and don't have the filePrecision option (precFloat32 / precFloat64)
And in mdsio_writevector.F (the only routine that calls those 2 S/R)
filePrecision and _RL,_RS are mixed in a strange way.
It's a little bit confusing, because the implementation
of useSingleCpuIO in mdsio_writevector.F account for both the
_BYTESWAPIO option and a filePrecision option.
Jean-Michel
More information about the MITgcm-devel
mailing list