Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
libcdi
Commits
79226f24
Commit
79226f24
authored
Jan 09, 2013
by
Uwe Schulzweida
Browse files
stream_ieg.c: changed all stream arguments to type stream_t
parent
f4907aca
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/stream.c
View file @
79226f24
...
...
@@ -568,7 +568,7 @@ int cdiInqContents(int streamID)
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
status
=
iegInqContents
(
stream
ID
);
status
=
iegInqContents
(
stream
ptr
);
break
;
}
#endif
...
...
@@ -1524,7 +1524,7 @@ int streamInqTimestep(int streamID, int tsID)
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
nrecs
=
iegInqTimestep
(
stream
ID
,
tsID
);
nrecs
=
iegInqTimestep
(
stream
ptr
,
tsID
);
break
;
}
#endif
...
...
@@ -1616,7 +1616,7 @@ void streamReadVar(int streamID, int varID, double *data, int *nmiss)
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
iegReadVarDP
(
stream
ID
,
varID
,
data
,
nmiss
);
iegReadVarDP
(
stream
ptr
,
varID
,
data
,
nmiss
);
break
;
}
#endif
...
...
@@ -1710,7 +1710,7 @@ void stream_write_var(int streamID, int varID, int memtype, const void *data, in
case
FILETYPE_IEG
:
{
if
(
memtype
==
MEMTYPE_FLOAT
)
Error
(
"iegWriteVar not implemented for memtype float!"
);
iegWriteVarDP
(
stream
ID
,
varID
,
data
);
iegWriteVarDP
(
stream
ptr
,
varID
,
data
);
break
;
}
#endif
...
...
@@ -1839,7 +1839,7 @@ void streamReadVarSlice(int streamID, int varID, int levelID, double *data, int
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
iegReadVarSliceDP
(
stream
ID
,
varID
,
levelID
,
data
,
nmiss
);
iegReadVarSliceDP
(
stream
ptr
,
varID
,
levelID
,
data
,
nmiss
);
break
;
}
#endif
...
...
@@ -1909,7 +1909,7 @@ void stream_write_var_slice(int streamID, int varID, int levelID, int memtype, c
case
FILETYPE_IEG
:
{
if
(
memtype
==
MEMTYPE_FLOAT
)
Error
(
"iegWriteVarSlice not implemented for memtype float!"
);
iegWriteVarSliceDP
(
stream
ID
,
varID
,
levelID
,
data
);
iegWriteVarSliceDP
(
stream
ptr
,
varID
,
levelID
,
data
);
break
;
}
#endif
...
...
src/stream_ieg.c
View file @
79226f24
...
...
@@ -31,7 +31,7 @@
typedef
struct
{
int
param
;
int
level
;
}
IEGCOMPVAR
;
}
IEGCOMPVAR
;
int
iegInqDatatype
(
int
prec
)
...
...
@@ -62,7 +62,7 @@ int iegDefDatatype(int datatype)
}
/* not used
int iegInqRecord(
in
t stream
ID
, int *varID, int *levelID)
int iegInqRecord(
stream_
t
*
stream
ptr
, int *varID, int *levelID)
{
int status;
int fileID;
...
...
@@ -70,11 +70,6 @@ int iegInqRecord(int streamID, int *varID, int *levelID)
int zaxisID = -1;
int vlistID;
iegrec_t *iegp;
stream_t *streamptr;
streamptr = stream_to_pointer(streamID);
stream_check_ptr(__func__, streamptr);
vlistID = streamptr->vlistID;
fileID = streamptr->fileID;
...
...
@@ -99,12 +94,12 @@ int iegInqRecord(int streamID, int *varID, int *levelID)
zaxisID = vlistInqVarZaxis(vlistID, *varID);
*levelID = zaxisInqLevelID(zaxisID, (double) ilevel);
return (1);
}
*/
int
iegReadRecord
(
in
t
stream
ID
,
double
*
data
,
int
*
nmiss
)
int
iegReadRecord
(
stream_
t
*
stream
ptr
,
double
*
data
,
int
*
nmiss
)
{
int
vlistID
,
fileID
;
int
status
;
...
...
@@ -114,11 +109,6 @@ int iegReadRecord(int streamID, double *data, int *nmiss)
int
i
,
size
;
double
missval
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
vlistID
=
streamptr
->
vlistID
;
fileID
=
streamptr
->
fileID
;
...
...
@@ -536,7 +526,7 @@ void iegDefLevel(int *pdb, int *gdb, double *vct, int zaxisID, int levelID)
}
int
iegCopyRecord
(
in
t
stream
ID2
,
in
t
stream
ID
1
)
int
iegCopyRecord
(
stream_
t
*
stream
ptr2
,
stream_
t
*
stream
ptr
1
)
{
int
fileID1
,
fileID2
;
int
tsID
,
recID
,
vrecID
;
...
...
@@ -544,14 +534,6 @@ int iegCopyRecord(int streamID2, int streamID1)
off_t
recpos
;
int
status
=
0
;
char
*
buffer
;
stream_t
*
streamptr1
;
stream_t
*
streamptr2
;
streamptr1
=
stream_to_pointer
(
streamID1
);
streamptr2
=
stream_to_pointer
(
streamID2
);
stream_check_ptr
(
__func__
,
streamptr1
);
stream_check_ptr
(
__func__
,
streamptr2
);
fileID1
=
streamptr1
->
fileID
;
fileID2
=
streamptr2
->
fileID
;
...
...
@@ -576,7 +558,7 @@ int iegCopyRecord(int streamID2, int streamID1)
}
int
iegDefRecord
(
in
t
stream
ID
)
int
iegDefRecord
(
stream_
t
*
stream
ptr
)
{
int
status
=
0
;
int
vlistID
;
...
...
@@ -588,11 +570,6 @@ int iegDefRecord(int streamID)
int
varID
,
levelID
,
tsID
,
zaxisID
;
int
byteorder
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
vlistID
=
streamptr
->
vlistID
;
iegp
=
streamptr
->
record
->
iegp
;
...
...
@@ -604,7 +581,7 @@ int iegDefRecord(int streamID)
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
iegInitMem
(
iegp
);
for
(
i
=
0
;
i
<
37
;
i
++
)
iegp
->
ipdb
[
i
]
=
-
1
;
...
...
@@ -629,23 +606,18 @@ int iegDefRecord(int streamID)
}
int
iegWriteRecord
(
in
t
stream
ID
,
const
double
*
data
)
int
iegWriteRecord
(
stream_
t
*
stream
ptr
,
const
double
*
data
)
{
int
fileID
;
int
status
=
0
;
int
i
,
gridsize
,
gridID
;
double
refval
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
fileID
=
streamptr
->
fileID
;
iegp
=
streamptr
->
record
->
iegp
;
gridID
=
streamptr
->
record
->
gridID
;
gridsize
=
gridInqSize
(
gridID
);
refval
=
data
[
0
];
...
...
@@ -662,7 +634,7 @@ int iegWriteRecord(int streamID, const double *data)
}
static
void
iegAddRecord
(
in
t
stream
ID
,
int
param
,
int
*
pdb
,
int
*
gdb
,
double
*
vct
,
void
iegAddRecord
(
stream_
t
*
stream
ptr
,
int
param
,
int
*
pdb
,
int
*
gdb
,
double
*
vct
,
long
recsize
,
off_t
position
,
int
prec
)
{
int
leveltype
;
...
...
@@ -676,9 +648,6 @@ void iegAddRecord(int streamID, int param, int *pdb, int *gdb, double *vct,
record_t
*
record
;
grid_t
grid
;
int
vlistID
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
vlistID
=
streamptr
->
vlistID
;
tsID
=
streamptr
->
curTsID
;
...
...
@@ -816,15 +785,12 @@ void iegAddRecord(int streamID, int param, int *pdb, int *gdb, double *vct,
#if 0
static
void iegCmpRecord(
in
t stream
ID
, int tsID, int recID, off_t position, int param,
void iegCmpRecord(
stream_
t
*
stream
ptr
, int tsID, int recID, off_t position, int param,
int level, int xsize, int ysize)
{
int varID = 0;
int levelID = 0;
record_t *record;
stream_t *streamptr;
streamptr = stream_to_pointer(streamID);
record = &streamptr->tsteps[tsID].records[recID];
...
...
@@ -865,8 +831,8 @@ void iegDateTime(int *pdb, int *date, int *time)
}
static
void
iegScanTimestep1
(
in
t
stream
ID
)
{
void
iegScanTimestep1
(
stream_
t
*
stream
ptr
)
{
int
prec
=
0
;
int
status
;
int
fileID
;
...
...
@@ -884,11 +850,6 @@ void iegScanTimestep1(int streamID)
int
vlistID
;
IEGCOMPVAR
compVar
,
compVar0
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
streamptr
->
curTsID
=
0
;
...
...
@@ -955,7 +916,7 @@ void iegScanTimestep1(int streamID)
if
(
CDI_Debug
)
Message
(
"%4d%8d%4d%8d%8d%6d"
,
nrecs
,
(
int
)
recpos
,
param
,
rlevel
,
vdate
,
vtime
);
iegAddRecord
(
stream
ID
,
param
,
iegp
->
ipdb
,
iegp
->
igdb
,
iegp
->
vct
,
recsize
,
recpos
,
prec
);
iegAddRecord
(
stream
ptr
,
param
,
iegp
->
ipdb
,
iegp
->
igdb
,
iegp
->
vct
,
recsize
,
recpos
,
prec
);
}
streamptr
->
rtsteps
=
1
;
...
...
@@ -1009,7 +970,7 @@ void iegScanTimestep1(int streamID)
}
static
int
iegScanTimestep2
(
in
t
stream
ID
)
int
iegScanTimestep2
(
stream_
t
*
stream
ptr
)
{
int
status
;
int
fileID
;
...
...
@@ -1026,11 +987,6 @@ int iegScanTimestep2(int streamID)
int
vlistID
;
IEGCOMPVAR
compVar
,
compVar0
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
streamptr
->
curTsID
=
1
;
...
...
@@ -1177,23 +1133,18 @@ int iegScanTimestep2(int streamID)
}
int
iegInqContents
(
in
t
stream
ID
)
int
iegInqContents
(
stream_
t
*
stream
ptr
)
{
int
fileID
;
int
status
=
0
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
fileID
=
streamptr
->
fileID
;
streamptr
->
curTsID
=
0
;
iegScanTimestep1
(
stream
ID
);
if
(
streamptr
->
ntsteps
==
-
1
)
status
=
iegScanTimestep2
(
stream
ID
);
iegScanTimestep1
(
stream
ptr
);
if
(
streamptr
->
ntsteps
==
-
1
)
status
=
iegScanTimestep2
(
stream
ptr
);
fileSetPos
(
fileID
,
0
,
SEEK_SET
);
...
...
@@ -1201,7 +1152,7 @@ int iegInqContents(int streamID)
}
static
int
iegScanTimestep
(
in
t
stream
ID
)
int
iegScanTimestep
(
stream_
t
*
stream
ptr
)
{
int
status
;
int
fileID
;
...
...
@@ -1216,15 +1167,10 @@ int iegScanTimestep(int streamID)
int
rindex
,
nrecs
=
0
;
IEGCOMPVAR
compVar
,
compVar0
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
if
(
CDI_Debug
)
{
Message
(
"stream
ID
= %
d
"
,
stream
ID
);
Message
(
"stream
ptr
= %
p
"
,
stream
ptr
);
Message
(
"cts = %d"
,
streamptr
->
curTsID
);
Message
(
"rts = %d"
,
streamptr
->
rtsteps
);
Message
(
"nts = %d"
,
streamptr
->
ntsteps
);
...
...
@@ -1334,24 +1280,19 @@ int iegScanTimestep(int streamID)
}
int
iegInqTimestep
(
in
t
stream
ID
,
int
tsID
)
int
iegInqTimestep
(
stream_
t
*
stream
ptr
,
int
tsID
)
{
int
ntsteps
,
nrecs
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
stream_check_ptr
(
__func__
,
streamptr
);
if
(
tsID
==
0
&&
streamptr
->
rtsteps
==
0
)
Error
(
"Call to cdiInqContents missing!"
);
if
(
CDI_Debug
)
Message
(
"tsID = %d rtsteps = %d"
,
tsID
,
streamptr
->
rtsteps
);
ntsteps
=
UNDEFID
;
while
(
(
tsID
+
1
)
>
streamptr
->
rtsteps
&&
ntsteps
==
UNDEFID
)
ntsteps
=
iegScanTimestep
(
stream
ID
);
ntsteps
=
iegScanTimestep
(
stream
ptr
);
if
(
tsID
>=
streamptr
->
ntsteps
&&
streamptr
->
ntsteps
!=
CDI_UNDEFID
)
{
...
...
@@ -1367,7 +1308,7 @@ int iegInqTimestep(int streamID, int tsID)
}
void
iegReadVarDP
(
in
t
stream
ID
,
int
varID
,
double
*
data
,
int
*
nmiss
)
void
iegReadVarDP
(
stream_
t
*
stream
ptr
,
int
varID
,
double
*
data
,
int
*
nmiss
)
{
int
vlistID
,
fileID
;
int
levID
,
nlevs
,
gridID
,
gridsize
;
...
...
@@ -1377,9 +1318,6 @@ void iegReadVarDP(int streamID, int varID, double *data, int *nmiss)
int
i
;
double
missval
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
iegp
=
streamptr
->
record
->
iegp
;
vlistID
=
streamptr
->
vlistID
;
...
...
@@ -1415,7 +1353,7 @@ void iegReadVarDP(int streamID, int varID, double *data, int *nmiss)
}
void
iegReadVarSliceDP
(
in
t
stream
ID
,
int
varID
,
int
levID
,
double
*
data
,
int
*
nmiss
)
void
iegReadVarSliceDP
(
stream_
t
*
stream
ptr
,
int
varID
,
int
levID
,
double
*
data
,
int
*
nmiss
)
{
int
vlistID
,
fileID
;
int
nlevs
,
gridID
,
gridsize
;
...
...
@@ -1425,9 +1363,6 @@ void iegReadVarSliceDP(int streamID, int varID, int levID, double *data, int *nm
int
i
;
double
missval
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
iegp
=
streamptr
->
record
->
iegp
;
vlistID
=
streamptr
->
vlistID
;
...
...
@@ -1462,7 +1397,7 @@ void iegReadVarSliceDP(int streamID, int varID, int levID, double *data, int *nm
}
void
iegWriteVarDP
(
in
t
stream
ID
,
int
varID
,
const
double
*
data
)
void
iegWriteVarDP
(
stream_
t
*
stream
ptr
,
int
varID
,
const
double
*
data
)
{
int
fileID
;
int
levID
,
nlevs
,
gridID
,
gridsize
;
...
...
@@ -1475,12 +1410,9 @@ void iegWriteVarDP(int streamID, int varID, const double *data)
int
param
,
pdis
,
pcat
,
pnum
;
double
refval
;
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
if
(
CDI_Debug
)
Message
(
"stream
ID
= %
d
varID = %d"
,
stream
ID
,
varID
);
Message
(
"stream
ptr
= %
p
varID = %d"
,
stream
ptr
,
varID
);
iegp
=
streamptr
->
record
->
iegp
;
...
...
@@ -1528,7 +1460,7 @@ void iegWriteVarDP(int streamID, int varID, const double *data)
}
void
iegWriteVarSliceDP
(
in
t
stream
ID
,
int
varID
,
int
levID
,
const
double
*
data
)
void
iegWriteVarSliceDP
(
stream_
t
*
stream
ptr
,
int
varID
,
int
levID
,
const
double
*
data
)
{
int
fileID
;
int
gridID
;
...
...
@@ -1539,9 +1471,6 @@ void iegWriteVarSliceDP(int streamID, int varID, int levID, const double *data)
int
vlistID
;
/* int param, date, time, datasize; */
iegrec_t
*
iegp
;
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
iegp
=
streamptr
->
record
->
iegp
;
vlistID
=
streamptr
->
vlistID
;
...
...
src/stream_ieg.h
View file @
79226f24
...
...
@@ -5,20 +5,20 @@
# include "ieg.h"
#endif
int
iegInqContents
(
in
t
stream
ID
);
int
iegInqTimestep
(
in
t
stream
ID
,
int
tsID
);
int
iegInqContents
(
stream_
t
*
stream
ptr
);
int
iegInqTimestep
(
stream_
t
*
stream
ptr
,
int
tsID
);
int
iegInqRecord
(
in
t
stream
ID
,
int
*
varID
,
int
*
levelID
);
int
iegDefRecord
(
in
t
stream
ID
);
int
iegCopyRecord
(
in
t
stream
IDdest
,
in
t
stream
IDsrc
);
int
iegReadRecord
(
in
t
stream
ID
,
double
*
data
,
int
*
nmiss
);
int
iegWriteRecord
(
in
t
stream
ID
,
const
double
*
data
);
int
iegInqRecord
(
stream_
t
*
stream
ptr
,
int
*
varID
,
int
*
levelID
);
int
iegDefRecord
(
stream_
t
*
stream
ptr
);
int
iegCopyRecord
(
stream_
t
*
stream
ptr2
,
stream_
t
*
stream
ptr1
);
int
iegReadRecord
(
stream_
t
*
stream
ptr
,
double
*
data
,
int
*
nmiss
);
int
iegWriteRecord
(
stream_
t
*
stream
ptr
,
const
double
*
data
);
void
iegReadVarDP
(
in
t
stream
ID
,
int
varID
,
double
*
data
,
int
*
nmiss
);
void
iegWriteVarDP
(
in
t
stream
ID
,
int
varID
,
const
double
*
data
);
void
iegReadVarDP
(
stream_
t
*
stream
ptr
,
int
varID
,
double
*
data
,
int
*
nmiss
);
void
iegWriteVarDP
(
stream_
t
*
stream
ptr
,
int
varID
,
const
double
*
data
);
void
iegReadVarSliceDP
(
in
t
stream
ID
,
int
varID
,
int
levelID
,
double
*
data
,
int
*
nmiss
);
void
iegWriteVarSliceDP
(
in
t
stream
ID
,
int
varID
,
int
levelID
,
const
double
*
data
);
void
iegReadVarSliceDP
(
stream_
t
*
stream
ptr
,
int
varID
,
int
levelID
,
double
*
data
,
int
*
nmiss
);
void
iegWriteVarSliceDP
(
stream_
t
*
stream
ptr
,
int
varID
,
int
levelID
,
const
double
*
data
);
#endif
/* _STREAM_IEG_H */
/*
...
...
src/stream_record.c
View file @
79226f24
...
...
@@ -94,13 +94,9 @@ int recordNewEntry(stream_t *streamptr, int tsID)
return
(
recordID
);
}
void
cdiInitRecord
(
in
t
stream
ID
)
static
void
cdiInitRecord
(
stream_
t
*
stream
ptr
)
{
stream_t
*
streamptr
;
streamptr
=
stream_to_pointer
(
streamID
);
streamptr
->
record
=
(
Record
*
)
malloc
(
sizeof
(
Record
));
streamptr
->
record
->
used
=
0
;
...
...
@@ -137,7 +133,7 @@ void streamInqRecord(int streamID, int *varID, int *levelID)
cdiDefAccesstype
(
streamID
,
TYPE_REC
);
if
(
!
streamptr
->
record
)
cdiInitRecord
(
stream
ID
);
if
(
!
streamptr
->
record
)
cdiInitRecord
(
stream
ptr
);
tsID
=
streamptr
->
curTsID
;
rindex
=
streamptr
->
tsteps
[
tsID
].
curRecID
+
1
;
...
...
@@ -219,7 +215,7 @@ void streamDefRecord(int streamID, int varID, int levelID)
streamDefTimestep
(
streamID
,
tsID
);
}
if
(
!
streamptr
->
record
)
cdiInitRecord
(
stream
ID
);
if
(
!
streamptr
->
record
)
cdiInitRecord
(
stream
ptr
);
vlistID
=
streamptr
->
vlistID
;
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
...
...
@@ -266,7 +262,7 @@ void streamDefRecord(int streamID, int varID, int levelID)
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
status
=
iegDefRecord
(
stream
ID
);
status
=
iegDefRecord
(
stream
ptr
);
break
;
}
#endif
...
...
@@ -334,7 +330,7 @@ void streamReadRecord(int streamID, double *data, int *nmiss)
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
status
=
iegReadRecord
(
stream
ID
,
data
,
nmiss
);
status
=
iegReadRecord
(
stream
ptr
,
data
,
nmiss
);
break
;
}
#endif
...
...
@@ -402,7 +398,7 @@ void stream_write_record(int streamID, int memtype, const void *data, int nmiss)
case
FILETYPE_IEG
:
{
if
(
memtype
==
MEMTYPE_FLOAT
)
Error
(
"iegWriteRecord not implemented for memtype float!"
);
status
=
iegWriteRecord
(
stream
ID
,
data
);
status
=
iegWriteRecord
(
stream
ptr
,
data
);
break
;
}
#endif
...
...
@@ -481,7 +477,7 @@ void streamCopyRecord(int streamID2, int streamID1)
#if defined (HAVE_LIBIEG)
case
FILETYPE_IEG
:
{
status
=
iegCopyRecord
(
stream
ID
2
,
stream
ID
1
);
status
=
iegCopyRecord
(
stream
ptr
2
,
stream
ptr
1
);
break
;
}
#endif
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment