Skip to content
GitLab
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
5535db49
Commit
5535db49
authored
Sep 29, 2017
by
Uwe Schulzweida
Browse files
Renamed TAXIS_CONSTANT to TIME_CONSTANT.
parent
2c832404
Changes
16
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
5535db49
...
...
@@ -3,6 +3,10 @@
* using CGRIBEX library version 1.9.0
* Version 1.9.1 released
2017-09-28 Uwe Schulzweida
* Renamed TAXIS_CONSTANT to TIME_CONSTANT
2017-09-20 Uwe Schulzweida
* vlistCopyFlag: copy datatype (bug fix)
...
...
app/cdi.c
View file @
5535db49
...
...
@@ -377,8 +377,7 @@ void printShortinfo(int streamID, int vlistID, int vardis)
/* tsteptype */
int
tsteptype
=
vlistInqVarTsteptype
(
vlistID
,
varID
);
if
(
tsteptype
==
TSTEP_CONSTANT
)
fprintf
(
stdout
,
"%-8s "
,
"constant"
);
else
if
(
tsteptype
==
TSTEP_INSTANT
)
fprintf
(
stdout
,
"%-8s "
,
"instant"
);
if
(
tsteptype
==
TSTEP_INSTANT
)
fprintf
(
stdout
,
"%-8s "
,
"instant"
);
else
if
(
tsteptype
==
TSTEP_INSTANT2
)
fprintf
(
stdout
,
"%-8s "
,
"instant"
);
else
if
(
tsteptype
==
TSTEP_INSTANT3
)
fprintf
(
stdout
,
"%-8s "
,
"instant"
);
else
if
(
tsteptype
==
TSTEP_MIN
)
fprintf
(
stdout
,
"%-8s "
,
"min"
);
...
...
@@ -978,7 +977,7 @@ int main(int argc, char *argv[])
{
for
(
varID
=
0
;
varID
<
nvars
;
varID
++
)
{
if
(
vlistInqVarT
step
type
(
vlistID1
,
varID
)
==
T
STEP
_CONSTANT
&&
tsID
>
0
)
continue
;
if
(
vlistInqVarT
ime
type
(
vlistID1
,
varID
)
==
T
IME
_CONSTANT
&&
tsID
>
0
)
continue
;
number
=
vlistInqVarNumber
(
vlistID1
,
varID
);
gridID
=
vlistInqVarGrid
(
vlistID1
,
varID
);
...
...
examples/cdi_write_const.c
View file @
5535db49
...
...
@@ -35,8 +35,8 @@ int main(void)
vlistID
=
vlistCreate
();
// Define the variables
varID1
=
vlistDefVar
(
vlistID
,
gridID
,
zaxisID1
,
T
STEP
_CONSTANT
);
varID2
=
vlistDefVar
(
vlistID
,
gridID
,
zaxisID2
,
T
STEP
_CONSTANT
);
varID1
=
vlistDefVar
(
vlistID
,
gridID
,
zaxisID1
,
T
IME
_CONSTANT
);
varID2
=
vlistDefVar
(
vlistID
,
gridID
,
zaxisID2
,
T
IME
_CONSTANT
);
// Define the variable names
vlistDefVarName
(
vlistID
,
varID1
,
"varname1"
);
...
...
src/cdf_read.c
View file @
5535db49
...
...
@@ -43,9 +43,9 @@ void cdfGetSlapDescription(stream_t *streamptr, int varID, size_t (*start)[4], s
{
int
vlistID
=
streamptr
->
vlistID
;
int
tsID
=
streamptr
->
curTsID
;
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
step
type
=
vlistInqVarT
step
type
(
vlistID
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
ime
type
=
vlistInqVarT
ime
type
(
vlistID
,
varID
);
int
gridindex
=
vlistGridIndex
(
vlistID
,
gridID
);
if
(
CDI_Debug
)
Message
(
"tsID = %d"
,
tsID
);
...
...
@@ -70,7 +70,7 @@ void cdfGetSlapDescription(stream_t *streamptr, int varID, size_t (*start)[4], s
(*count)[ndims] = length; \
ndims++; \
} while(0)
if
(
t
step
type
!=
T
STEP
_CONSTANT
)
addDimension
((
size_t
)
tsID
,
1
);
if
(
t
ime
type
!=
T
IME
_CONSTANT
)
addDimension
((
size_t
)
tsID
,
1
);
if
(
zid
!=
CDI_UNDEFID
)
addDimension
(
0
,
(
size_t
)
zaxisInqSize
(
zaxisID
));
if
(
yid
!=
CDI_UNDEFID
)
addDimension
(
0
,
(
size_t
)
gridInqYsize
(
gridID
));
if
(
xid
!=
CDI_UNDEFID
)
addDimension
(
0
,
(
size_t
)
gridInqXsize
(
gridID
));
...
...
@@ -420,7 +420,7 @@ void cdfGetSliceSlapDescription(stream_t *streamptr, int varId, int levelId, boo
int
ncvarid
=
streamptr
->
vars
[
varId
].
ncvarid
;
int
gridId
=
vlistInqVarGrid
(
vlistId
,
varId
);
int
t
step
type
=
vlistInqVarT
st
eptype
(
vlistId
,
varId
);
int
t
ime
type
=
vlistInqVarT
im
eptype
(
vlistId
,
varId
);
int
gridsize
=
gridInqSize
(
gridId
);
streamptr
->
numvals
+=
gridsize
;
...
...
@@ -443,7 +443,7 @@ void cdfGetSliceSlapDescription(stream_t *streamptr, int varId, int levelId, boo
ndims++; \
} while(0)
if
(
t
step
type
!=
T
STEP
_CONSTANT
)
addDimension
((
size_t
)
tsID
,
1
);
if
(
t
ime
type
!=
T
IME
_CONSTANT
)
addDimension
((
size_t
)
tsID
,
1
);
if
(
skipdim
==
1
)
addDimension
(
0
,
1
);
for
(
int
id
=
0
;
id
<
3
;
++
id
)
...
...
src/cdf_write.c
View file @
5535db49
...
...
@@ -342,12 +342,12 @@ int cdfDefVar(stream_t *streamptr, int varID)
if
(
streamptr
->
vars
[
varID
].
ncvarid
!=
CDI_UNDEFID
)
return
streamptr
->
vars
[
varID
].
ncvarid
;
int
vlistID
=
streamptr
->
vlistID
;
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
step
type
=
vlistInqVarT
step
type
(
vlistID
,
varID
);
int
code
=
vlistInqVarCode
(
vlistID
,
varID
);
int
param
=
vlistInqVarParam
(
vlistID
,
varID
);
int
vlistID
=
streamptr
->
vlistID
;
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
ime
type
=
vlistInqVarT
ime
type
(
vlistID
,
varID
);
int
code
=
vlistInqVarCode
(
vlistID
,
varID
);
int
param
=
vlistInqVarParam
(
vlistID
,
varID
);
int
pnum
,
pcat
,
pdis
;
cdiDecodeParam
(
param
,
&
pnum
,
&
pcat
,
&
pdis
);
...
...
@@ -382,7 +382,7 @@ int cdfDefVar(stream_t *streamptr, int varID)
int
tid
=
streamptr
->
basetime
.
ncdimid
;
if
(
vlistHasTime
(
vlistID
)
&&
t
step
type
!=
T
STEP
_CONSTANT
)
if
(
vlistHasTime
(
vlistID
)
&&
t
ime
type
!=
T
IME
_CONSTANT
)
{
if
(
tid
==
CDI_UNDEFID
)
Error
(
"Internal problem, time undefined!"
);
chunks
[
ndims
]
=
1
;
...
...
@@ -1005,9 +1005,9 @@ void cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data
int
ncvarid
=
cdfDefVar
(
streamptr
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
step
type
=
vlistInqVarT
step
type
(
vlistID
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
ime
type
=
vlistInqVarT
ime
type
(
vlistID
,
varID
);
int
xid
=
CDI_UNDEFID
,
yid
=
CDI_UNDEFID
;
if
(
gridInqType
(
gridID
)
==
GRID_TRAJECTORY
)
...
...
@@ -1024,7 +1024,7 @@ void cdf_write_var(stream_t *streamptr, int varID, int memtype, const void *data
int
zaxisindex
=
vlistZaxisIndex
(
vlistID
,
zaxisID
);
int
zid
=
streamptr
->
zaxisID
[
zaxisindex
];
if
(
t
step
type
!=
T
STEP
_CONSTANT
)
if
(
t
ime
type
!=
T
IME
_CONSTANT
)
{
start
[
ndims
]
=
(
size_t
)
ntsteps
-
1
;
count
[
ndims
]
=
1
;
...
...
@@ -1100,9 +1100,9 @@ void cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype,
int
ncvarid
=
cdfDefVar
(
streamptr
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
step
type
=
vlistInqVarT
step
type
(
vlistID
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
ime
type
=
vlistInqVarT
ime
type
(
vlistID
,
varID
);
if
(
gridInqType
(
gridID
)
==
GRID_TRAJECTORY
)
{
...
...
@@ -1118,7 +1118,7 @@ void cdf_write_var_chunk(stream_t *streamptr, int varID, int memtype,
int
zaxisindex
=
vlistZaxisIndex
(
vlistID
,
zaxisID
);
int
zid
=
streamptr
->
zaxisID
[
zaxisindex
];
if
(
t
step
type
!=
T
STEP
_CONSTANT
)
if
(
t
ime
type
!=
T
IME
_CONSTANT
)
{
start
[
ndims
]
=
(
size_t
)
ntsteps
-
1
;
count
[
ndims
]
=
1
;
...
...
@@ -1195,9 +1195,9 @@ void cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtyp
int
ncvarid
=
cdfDefVar
(
streamptr
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
step
type
=
vlistInqVarT
step
type
(
vlistID
,
varID
);
int
gridID
=
vlistInqVarGrid
(
vlistID
,
varID
);
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
int
t
ime
type
=
vlistInqVarT
ime
type
(
vlistID
,
varID
);
vlistInqVarDimorder
(
vlistID
,
varID
,
&
dimorder
);
if
(
gridInqType
(
gridID
)
==
GRID_TRAJECTORY
)
...
...
@@ -1217,7 +1217,7 @@ void cdf_write_var_slice(stream_t *streamptr, int varID, int levelID, int memtyp
bool
swapxy
=
(
dimorder
[
2
]
==
2
||
dimorder
[
0
]
==
1
)
&&
xid
!=
CDI_UNDEFID
&&
yid
!=
CDI_UNDEFID
;
size_t
ndims
=
0
;
if
(
t
step
type
!=
T
STEP
_CONSTANT
)
if
(
t
ime
type
!=
T
IME
_CONSTANT
)
{
start
[
ndims
]
=
(
size_t
)
ntsteps
-
1
;
count
[
ndims
]
=
1
;
...
...
src/cdi.h
View file @
5535db49
...
...
@@ -557,22 +557,22 @@ int vlistInqModel(int vlistID);
/* VLIST VAR routines */
/* vlistDefVarTiles: Create a new tile-based variable */
int
vlistDefVarTiles
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
step
type
,
int
tilesetID
);
int
vlistDefVarTiles
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
ime
type
,
int
tilesetID
);
/* vlistDefVar: Create a new variable */
int
vlistDefVar
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
step
type
);
int
vlistDefVar
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
ime
type
);
void
vlistChangeVarGrid
(
int
vlistID
,
int
varID
,
int
gridID
);
void
vlistChangeVarZaxis
(
int
vlistID
,
int
varID
,
int
zaxisID
);
void
vlistInqVar
(
int
vlistID
,
int
varID
,
int
*
gridID
,
int
*
zaxisID
,
int
*
t
step
type
);
void
vlistInqVar
(
int
vlistID
,
int
varID
,
int
*
gridID
,
int
*
zaxisID
,
int
*
t
ime
type
);
int
vlistInqVarGrid
(
int
vlistID
,
int
varID
);
int
vlistInqVarZaxis
(
int
vlistID
,
int
varID
);
/* used in MPIOM */
int
vlistInqVarID
(
int
vlistID
,
int
code
);
void
vlistDefVarTimetype
(
int
vlistID
,
int
varID
,
int
t
step
type
);
void
vlistDefVarTimetype
(
int
vlistID
,
int
varID
,
int
t
ime
type
);
int
vlistInqVarTimetype
(
int
vlistID
,
int
varID
);
void
vlistDefVarTsteptype
(
int
vlistID
,
int
varID
,
int
tsteptype
);
...
...
src/stream_cdf_i.c
View file @
5535db49
...
...
@@ -54,13 +54,13 @@ typedef struct {
bool
calendar
;
bool
climatology
;
bool
lformulaterms
;
int
tsteptype
;
int
param
;
int
code
;
int
tabnum
;
int
bounds
;
int
gridID
;
int
zaxisID
;
int
timetype
;
int
gridtype
;
int
zaxistype
;
int
xdim
;
...
...
@@ -195,7 +195,7 @@ void setForecastTime(const char *timestr, taxis_t *taxis)
static
int
setBaseTime
(
const
char
*
timeunits
,
taxis_t
*
taxis
)
{
int
t
ime
type
=
TAXIS_ABSOLUTE
;
int
t
axis
type
=
TAXIS_ABSOLUTE
;
int
rdate
=
-
1
,
rtime
=
-
1
;
size_t
len
=
strlen
(
timeunits
);
...
...
@@ -220,14 +220,14 @@ int setBaseTime(const char *timeunits, taxis_t *taxis)
while
(
isspace
(
tu
[
pos
])
)
++
pos
;
if
(
str_is_equal
(
tu
+
pos
,
"since"
)
)
t
ime
type
=
TAXIS_RELATIVE
;
t
axis
type
=
TAXIS_RELATIVE
;
while
(
pos
<
len
&&
!
isspace
(
tu
[
pos
])
)
++
pos
;
if
(
tu
[
pos
]
)
{
while
(
isspace
(
tu
[
pos
])
)
++
pos
;
if
(
t
ime
type
==
TAXIS_ABSOLUTE
)
if
(
t
axis
type
==
TAXIS_ABSOLUTE
)
{
if
(
timeunit
==
TUNIT_DAY
)
{
...
...
@@ -246,7 +246,7 @@ int setBaseTime(const char *timeunits, taxis_t *taxis)
}
}
}
else
if
(
t
ime
type
==
TAXIS_RELATIVE
)
else
if
(
t
axis
type
==
TAXIS_RELATIVE
)
{
scanTimeString
(
tu
+
pos
,
&
rdate
,
&
rtime
);
...
...
@@ -259,13 +259,13 @@ int setBaseTime(const char *timeunits, taxis_t *taxis)
}
}
taxis
->
type
=
t
ime
type
;
taxis
->
type
=
t
axis
type
;
taxis
->
unit
=
timeunit
;
Free
(
tu
);
if
(
CDI_Debug
)
Message
(
"t
ime
type = %d unit = %d"
,
t
ime
type
,
timeunit
);
Message
(
"t
axis
type = %d unit = %d"
,
t
axis
type
,
timeunit
);
return
0
;
}
...
...
@@ -520,7 +520,7 @@ void cdfCreateRecords(stream_t *streamptr, int tsID)
int
nvrecs
=
0
;
for
(
int
varID
=
0
;
varID
<
nvars
;
varID
++
)
{
if
(
vlistInqVarT
step
type
(
vlistID
,
varID
)
!=
T
STEP
_CONSTANT
)
if
(
vlistInqVarT
ime
type
(
vlistID
,
varID
)
!=
T
IME
_CONSTANT
)
{
int
zaxisID
=
vlistInqVarZaxis
(
vlistID
,
varID
);
nvrecs
+=
zaxisInqSize
(
zaxisID
);
...
...
@@ -543,7 +543,7 @@ void cdfCreateRecords(stream_t *streamptr, int tsID)
for
(
int
recID
=
0
,
vrecID
=
0
;
recID
<
nrecs
;
recID
++
)
{
int
varID
=
destTstep
->
records
[
recID
].
varID
;
if
(
vlistInqVarT
step
type
(
vlistID
,
varID
)
!=
T
STEP
_CONSTANT
)
if
(
vlistInqVarT
ime
type
(
vlistID
,
varID
)
!=
T
IME
_CONSTANT
)
{
destTstep
->
recIDs
[
vrecID
++
]
=
recID
;
}
...
...
@@ -640,7 +640,7 @@ void init_ncvars(long nvars, ncvar_t *ncvars)
ncvars
[
ncvarid
].
calendar
=
false
;
ncvars
[
ncvarid
].
climatology
=
false
;
ncvars
[
ncvarid
].
lformulaterms
=
false
;
ncvars
[
ncvarid
].
t
step
type
=
T
STEP
_CONSTANT
;
ncvars
[
ncvarid
].
t
ime
type
=
T
IME
_CONSTANT
;
ncvars
[
ncvarid
].
param
=
CDI_UNDEFID
;
ncvars
[
ncvarid
].
code
=
CDI_UNDEFID
;
ncvars
[
ncvarid
].
tabnum
=
0
;
...
...
@@ -1128,7 +1128,7 @@ void cdf_scan_var_attr(int nvars, ncvar_t *ncvars, ncdim_t *ncdims, int timedimi
{
if
(
timedimid
==
dimidsp
[
0
]
)
{
ncvars
[
ncvarid
].
t
step
type
=
T
STEP_INSTANT
;
ncvars
[
ncvarid
].
t
ime
type
=
T
IME_VARYING
;
cdf_set_dim
(
ncvars
,
ncvarid
,
0
,
T_AXIS
);
}
else
...
...
@@ -3095,7 +3095,7 @@ void cdf_define_all_vars(stream_t *streamptr, int vlistID, int instID, int model
int
zaxisID
=
ncvars
[
ncvarid
].
zaxisID
;
stream_new_var
(
streamptr
,
gridID
,
zaxisID
,
CDI_UNDEFID
);
int
varID
=
vlistDefVar
(
vlistID
,
gridID
,
zaxisID
,
ncvars
[
ncvarid
].
t
step
type
);
int
varID
=
vlistDefVar
(
vlistID
,
gridID
,
zaxisID
,
ncvars
[
ncvarid
].
t
ime
type
);
#if defined (HAVE_NETCDF4)
if
(
ncvars
[
ncvarid
].
deflate
)
...
...
@@ -3160,7 +3160,7 @@ void cdf_define_all_vars(stream_t *streamptr, int vlistID, int instID, int model
int
ixyz
=
0
;
static
const
int
ipow10
[
4
]
=
{
1
,
10
,
100
,
1000
};
if
(
ncvars
[
ncvarid
].
t
step
type
!=
T
STEP
_CONSTANT
)
iodim
++
;
if
(
ncvars
[
ncvarid
].
t
ime
type
!=
T
IME
_CONSTANT
)
iodim
++
;
const
int
*
dimids
=
ncvars
[
ncvarid
].
dimids
;
...
...
src/stream_cgribex.c
View file @
5535db49
...
...
@@ -595,7 +595,7 @@ cgribexScanTsConstAdjust(stream_t *streamptr, taxis_t *taxis)
{
streamptr
->
ntsteps
=
0
;
for
(
int
varID
=
0
;
varID
<
streamptr
->
nvars
;
varID
++
)
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
}
}
...
...
@@ -1035,7 +1035,7 @@ int cgribexScanTimestep2(stream_t * streamptr)
if
(
!
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
used
)
{
varID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
varID
;
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
else
{
...
...
src/stream_ext.c
View file @
5535db49
...
...
@@ -178,7 +178,7 @@ void extAddRecord(stream_t *streamptr, int param, int level, int xysize,
int
vlistID
=
streamptr
->
vlistID
;
int
tsID
=
streamptr
->
curTsID
;
int
recID
=
recordNewEntry
(
streamptr
,
tsID
);
record_t
*
record
=
&
streamptr
->
tsteps
[
tsID
].
records
[
recID
];
record_t
*
record
=
&
streamptr
->
tsteps
[
tsID
].
records
[
recID
];
record
->
size
=
recsize
;
record
->
position
=
position
;
...
...
@@ -330,9 +330,7 @@ void extScanTimestep1(stream_t *streamptr)
{
streamptr
->
ntsteps
=
0
;
for
(
varID
=
0
;
varID
<
streamptr
->
nvars
;
varID
++
)
{
vlistDefVarTsteptype
(
vlistID
,
varID
,
TSTEP_CONSTANT
);
}
vlistDefVarTimetype
(
vlistID
,
varID
,
TIME_CONSTANT
);
}
}
}
...
...
@@ -461,7 +459,7 @@ int extScanTimestep2(stream_t *streamptr)
if
(
!
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
used
)
{
varID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
varID
;
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
else
{
...
...
src/stream_gribapi.c
View file @
5535db49
...
...
@@ -1004,9 +1004,7 @@ int gribapiScanTimestep1(stream_t * streamptr)
{
streamptr
->
ntsteps
=
0
;
for
(
int
varID
=
0
;
varID
<
streamptr
->
nvars
;
varID
++
)
{
vlistDefVarTsteptype
(
vlistID
,
varID
,
TSTEP_CONSTANT
);
}
vlistDefVarTimetype
(
vlistID
,
varID
,
TIME_CONSTANT
);
}
}
...
...
@@ -1208,7 +1206,7 @@ int gribapiScanTimestep2(stream_t * streamptr)
if
(
!
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
used
)
{
int
varID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
varID
;
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
else
{
...
...
src/stream_ieg.c
View file @
5535db49
...
...
@@ -845,9 +845,7 @@ void iegScanTimestep1(stream_t *streamptr)
{
streamptr
->
ntsteps
=
0
;
for
(
int
varID
=
0
;
varID
<
streamptr
->
nvars
;
varID
++
)
{
vlistDefVarTsteptype
(
vlistID
,
varID
,
TSTEP_CONSTANT
);
}
vlistDefVarTimetype
(
vlistID
,
varID
,
TIME_CONSTANT
);
}
}
}
...
...
@@ -980,7 +978,7 @@ int iegScanTimestep2(stream_t *streamptr)
if
(
!
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
used
)
{
int
varID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
varID
;
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
else
{
...
...
src/stream_record.c
View file @
5535db49
...
...
@@ -334,7 +334,7 @@ void cdi_create_records(stream_t *streamptr, int tsID)
{
int
varID
=
sourceTstep
->
records
[
recID
].
varID
;
nrecords
+=
(
varID
==
CDI_UNDEFID
/* varID = CDI_UNDEFID for write mode !!! */
||
vlistInqVarT
step
type
(
vlistID
,
varID
)
!=
T
STEP
_CONSTANT
);
||
vlistInqVarT
ime
type
(
vlistID
,
varID
)
!=
T
IME
_CONSTANT
);
// printf("varID nrecords %d %d %d \n", varID, nrecords, vlistInqVarTsteptype(vlistID, varID));
}
}
...
...
@@ -366,7 +366,7 @@ void cdi_create_records(stream_t *streamptr, int tsID)
destTstep
->
records
[
recID
].
used
=
curRecord
->
used
;
if
(
curRecord
->
used
!=
CDI_UNDEFID
&&
curRecord
->
varID
!=
-
1
)
/* curRecord->varID = -1 for write mode !!! */
{
if
(
vlistInqVarT
step
type
(
vlistID
,
curRecord
->
varID
)
!=
T
STEP
_CONSTANT
)
if
(
vlistInqVarT
ime
type
(
vlistID
,
curRecord
->
varID
)
!=
T
IME
_CONSTANT
)
{
destTstep
->
records
[
recID
].
position
=
CDI_UNDEFID
;
destTstep
->
records
[
recID
].
size
=
0
;
...
...
src/stream_srv.c
View file @
5535db49
...
...
@@ -334,7 +334,7 @@ void srvScanTimestep1(stream_t *streamptr)
{
streamptr
->
ntsteps
=
0
;
for
(
int
varID
=
0
;
varID
<
streamptr
->
nvars
;
varID
++
)
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
}
}
...
...
@@ -460,7 +460,7 @@ int srvScanTimestep2(stream_t *streamptr)
if
(
!
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
used
)
{
int
varID
=
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
varID
;
vlistDefVarT
step
type
(
vlistID
,
varID
,
T
STEP
_CONSTANT
);
vlistDefVarT
ime
type
(
vlistID
,
varID
,
T
IME
_CONSTANT
);
}
else
{
...
...
src/varscan.c
View file @
5535db49
...
...
@@ -757,8 +757,9 @@ void cdi_generate_vars(stream_t *streamptr)
/* generate new variable */
int
varID
=
stream_new_var
(
streamptr
,
gridID
,
zaxisID
,
tilesetID
);
varID
=
vlistDefVarTiles
(
vlistID
,
gridID
,
zaxisID
,
tsteptype
,
tilesetID
);
varID
=
vlistDefVarTiles
(
vlistID
,
gridID
,
zaxisID
,
TIME_VARYING
,
tilesetID
);
vlistDefVarTsteptype
(
vlistID
,
varID
,
tsteptype
);
vlistDefVarParam
(
vlistID
,
varID
,
param
);
vlistDefVarDatatype
(
vlistID
,
varID
,
prec
);
vlistDefVarTimave
(
vlistID
,
varID
,
timave
);
...
...
src/vlist.c
View file @
5535db49
...
...
@@ -1499,7 +1499,7 @@ int vlistHasTime(int vlistID)
if
(
!
(
CDI_reduce_dim
&&
vlistptr
->
ntsteps
==
1
)
)
{
for
(
int
varID
=
0
;
varID
<
vlistptr
->
nvars
;
varID
++
)
if
(
vlistptr
->
vars
[
varID
].
t
step
type
!=
T
STEP
_CONSTANT
)
if
(
vlistptr
->
vars
[
varID
].
t
ime
type
!=
T
IME
_CONSTANT
)
{
hastime
=
true
;
break
;
...
...
src/vlist_var.c
View file @
5535db49
...
...
@@ -129,10 +129,10 @@ void vlistCheckVarID(const char *caller, int vlistID, int varID)
}
int
vlistDefVarTiles
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
step
type
,
int
tilesetID
)
int
vlistDefVarTiles
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
ime
type
,
int
tilesetID
)
{
if
(
CDI_Debug
)
Message
(
"gridID = %d zaxisID = %d t
step
type = %d"
,
gridID
,
zaxisID
,
t
step
type
);
Message
(
"gridID = %d zaxisID = %d t
ime
type = %d"
,
gridID
,
zaxisID
,
t
ime
type
);
int
varID
=
vlistvarNewEntry
(
vlistID
);
...
...
@@ -140,13 +140,13 @@ int vlistDefVarTiles(int vlistID, int gridID, int zaxisID, int tsteptype, int ti
vlistptr
->
nvars
++
;
vlistptr
->
vars
[
varID
].
gridID
=
gridID
;
vlistptr
->
vars
[
varID
].
zaxisID
=
zaxisID
;
vlistptr
->
vars
[
varID
].
t
step
type
=
t
step
type
;
vlistptr
->
vars
[
varID
].
t
ime
type
=
t
ime
type
;
vlistptr
->
vars
[
varID
].
subtypeID
=
tilesetID
;
if
(
t
step
type
<
0
)
if
(
t
ime
type
<
0
)
{
Message
(
"Unexpected t
step
type %d, set to T
STEP_INSTANT
!"
,
t
step
type
);
vlistptr
->
vars
[
varID
].
t
step
type
=
T
STEP_INSTANT
;
Message
(
"Unexpected t
ime
type %d, set to T
IME_VARYING
!"
,
t
ime
type
);
vlistptr
->
vars
[
varID
].
t
ime
type
=
T
IME_VARYING
;
}
vlistAdd2GridIDs
(
vlistptr
,
gridID
);
...
...
@@ -163,14 +163,13 @@ int vlistDefVarTiles(int vlistID, int gridID, int zaxisID, int tsteptype, int ti
@Function vlistDefVar
@Title Define a Variable
@Prototype int vlistDefVar(int vlistID, int gridID, int zaxisID, int t
step
type)
@Prototype int vlistDefVar(int vlistID, int gridID, int zaxisID, int t
ime
type)
@Parameter
@Item vlistID Variable list ID, from a previous call to @fref{vlistCreate}.
@Item gridID Grid ID, from a previous call to @fref{gridCreate}.
@Item zaxisID Z-axis ID, from a previous call to @fref{zaxisCreate}.
@Item tsteptype One of the set of predefined CDI timestep types.
The valid CDI timestep types are @func{TSTEP_CONSTANT}, @func{TSTEP_INSTANT},
@func{TSTEP_ACCUM}, @func{TSTEP_AVG}, @func{TSTEP_MAX}, @func{TSTEP_MIN} and @func{TSTEP_SD}.
@Item timetype One of the set of predefined CDI timestep types.
The valid CDI timestep types are @func{TIME_CONSTANT} and @func{TIME_VARYING}.
@Description
The function @func{vlistDefVar} adds a new variable to vlistID.
...
...
@@ -188,7 +187,7 @@ and add a variable with @func{vlistDefVar}.
int vlistID, varID;
...
vlistID = vlistCreate();
varID = vlistDefVar(vlistID, gridID, zaxisID, TIME_
INSTANT
);
varID = vlistDefVar(vlistID, gridID, zaxisID, TIME_
VARYING
);
...
streamDefVlist(streamID, vlistID);
...
...
...
@@ -197,10 +196,10 @@ vlistDestroy(vlistID);
@EndSource
@EndFunction
*/
int
vlistDefVar
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
step
type
)
int
vlistDefVar
(
int
vlistID
,
int
gridID
,
int
zaxisID
,
int
t
ime
type
)
{
/* call "vlistDefVarTiles" with a trivial tile index: */
return
vlistDefVarTiles
(
vlistID
,
gridID
,
zaxisID
,
t
step
type
,
CDI_UNDEFID
);
return
vlistDefVarTiles
(
vlistID
,
gridID
,
zaxisID
,
t
ime
type
,
CDI_UNDEFID
);
}
void
...
...
@@ -279,15 +278,15 @@ void vlistDefVarCode(int vlistID, int varID, int code)
}
void
vlistInqVar
(
int
vlistID
,
int
varID
,
int
*
gridID
,
int
*
zaxisID
,
int
*
t
step
type
)
void
vlistInqVar
(
int
vlistID
,
int
varID
,
int
*
gridID
,
int
*
zaxisID
,
int
*
t
ime
type
)
{
vlist_t
*
vlistptr
=
vlist_to_pointer
(
vlistID
);
vlistCheckVarID
(
__func__
,
vlistID
,
varID
);
*
gridID
=
vlistptr
->
vars
[
varID
].
gridID
;
*
zaxisID
=
vlistptr
->
vars
[
varID
].
zaxisID
;
*
t
step
type
=
vlistptr
->
vars
[
varID
].
t
step
type
;
*
gridID
=
vlistptr
->
vars
[
varID
].
gridID
;
*
zaxisID
=
vlistptr
->
vars
[
varID
].
zaxisID
;
*
t
ime
type
=
vlistptr
->
vars
[
varID
].
t
ime
type
;
return
;
}
...
...
@@ -699,8 +698,8 @@ int vlistInqVarSize(int vlistID, int varID)
{
vlistCheckVarID
(
__func__
,
vlistID
,
varID
);
int
zaxisID
,
gridID
,
t
step
type
;
vlistInqVar
(
vlistID
,
varID
,
&
gridID
,
&
zaxisID
,
&
t
step
type
);
int
zaxisID
,
gridID
,
t
ime
type
;
vlistInqVar
(
vlistID
,
varID
,
&
gridID
,
&
zaxisID
,
&
t
ime
type
);
int
nlevs
=
zaxisInqSize
(
zaxisID
);
...
...
@@ -1236,7 +1235,7 @@ The function @func{vlistInqVarTsteptype} returns the timestep type of a Variable
@Result
@func{vlistInqVarTsteptype} returns the timestep type of the Variable,
one of the set of predefined CDI timestep types.
The valid CDI timestep types are
@func{TSTEP_CONSTANT},
@func{TSTEP_INSTANT},
The valid CDI timestep types are @func{TSTEP_INSTANT},
@func{TSTEP_ACCUM}, @func{TSTEP_AVG}, @func{TSTEP_MAX}, @func{TSTEP_MIN} and @func{TSTEP_SD}.
@EndFunction
...
...
@@ -2025,7 +2024,7 @@ int vlistVarCompare(vlist_t *a, int varIDA, vlist_t *b, int varIDB)
#define FCMP2(f) (namespaceResHDecode(pva->f).idx \
!= namespaceResHDecode(pvb->f).idx)
int
diff
=
FCMP
(
fvarID
)
|
FCMP
(
mvarID
)
|
FCMP
(
flag
)
|
FCMP
(
param
)
|
FCMP
(
datatype
)
|
FCMP
(
tsteptype
)
|
FCMP
(
timave
)
|
FCMP
(
timaccu
)
|
FCMP
(
datatype
)
|
FCMP
(
timetype
)
|
FCMP
(
tsteptype
)
|
FCMP
(
timave
)
|
FCMP
(
timaccu
)
|
FCMP
(
chunktype
)
|
FCMP
(
xyz
)
|
FCMP2
(
gridID
)
|
FCMP2
(
zaxisID
)
|
FCMP2
(
instID
)
|
FCMP2
(
modelID
)
|
FCMP2
(
tableID
)
|
FCMP
(
missvalused
)
|
FCMPFLT
(
missval
)
|
FCMPFLT
(
addoffset
)
|
FCMPFLT
(
scalefactor
)
|
FCMPSTR
(
name
)
...
...
@@ -2098,7 +2097,7 @@ void vlistVarPack(vlist_t *p, int varID, char * buf, int size, int *position,
tempbuf
[
0
]
=
var
->
flag
;
tempbuf
[
1
]
=
var
->
gridID
;
tempbuf
[
2
]
=
var
->
zaxisID
;
tempbuf
[
3
]
=
var
->
t
step
type
;
tempbuf
[
3
]
=
var
->
t
ime
type
;
tempbuf
[
4
]
=
namesz
=
var
->
name
?
(
int
)
strlen
(
var
->
name
)
:
0
;
tempbuf
[
5
]
=
longnamesz
=
var
->
longname
?
(
int
)
strlen
(
var
->
longname
)
:
0
;
tempbuf
[
6
]
=
stdnamesz
=
var
->
stdname
?
(
int
)
strlen
(
var
->
stdname
)
:
0
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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