Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
libcdi
Commits
c2526898
Commit
c2526898
authored
Oct 23, 2014
by
Uwe Schulzweida
Browse files
cgribexVarCompare: exclude TimeRangeIndicator 0 and 10
parent
002ba947
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/stream_cgribex.c
View file @
c2526898
...
...
@@ -531,7 +531,7 @@ compvar_t cgribexVarSet(int param, int level1, int level2, int leveltype, int tr
}
static
int
cgribexVarCompare
(
compvar_t
compVar
,
record_t
record
)
int
cgribexVarCompare
(
compvar_t
compVar
,
record_t
record
,
int
flag
)
{
compvar_t
compVar0
;
...
...
@@ -541,6 +541,12 @@ int cgribexVarCompare(compvar_t compVar, record_t record)
compVar0
.
ltype
=
record
.
ltype
;
compVar0
.
tsteptype
=
record
.
tsteptype
;
if
(
flag
==
0
)
{
if
(
compVar0
.
tsteptype
==
TSTEP_INSTANT
&&
compVar
.
tsteptype
==
TSTEP_INSTANT3
)
compVar0
.
tsteptype
=
TSTEP_INSTANT3
;
if
(
compVar0
.
tsteptype
==
TSTEP_INSTANT3
&&
compVar
.
tsteptype
==
TSTEP_INSTANT
)
compVar0
.
tsteptype
=
TSTEP_INSTANT
;
}
int
rstatus
=
memcmp
(
&
compVar0
,
&
compVar
,
sizeof
(
compvar_t
));
return
(
rstatus
);
...
...
@@ -683,7 +689,7 @@ int cgribexScanTimestep1(stream_t * streamptr)
for
(
recID
=
0
;
recID
<
nrecs
;
recID
++
)
{
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
0
].
records
[
recID
])
==
0
)
break
;
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
0
].
records
[
recID
]
,
1
)
==
0
)
break
;
}
if
(
cdiInventoryMode
==
1
)
...
...
@@ -962,7 +968,7 @@ int cgribexScanTimestep2(stream_t * streamptr)
for
(
recID
=
0
;
recID
<
nrecords
;
recID
++
)
{
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
==
0
)
break
;
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
==
0
)
break
;
}
if
(
recID
==
nrecords
)
...
...
@@ -1004,7 +1010,7 @@ int cgribexScanTimestep2(stream_t * streamptr)
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
size
=
(
size_t
)
recsize
;
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
!=
0
)
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
!=
0
)
{
Message
(
"tsID = %d recID = %d param = %3d new %3d level = %3d new %3d"
,
tsID
,
recID
,
...
...
@@ -1232,7 +1238,7 @@ int cgribexScanTimestep(stream_t * streamptr)
for
(
vrecID
=
0
;
vrecID
<
nrecs
;
vrecID
++
)
{
recID
=
streamptr
->
tsteps
[
1
].
recIDs
[
vrecID
];
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
==
0
)
break
;
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
==
0
)
break
;
}
if
(
vrecID
==
nrecs
)
...
...
@@ -1274,7 +1280,7 @@ int cgribexScanTimestep(stream_t * streamptr)
if
(
CDI_Debug
)
Message
(
"Read record %2d (id=%s lev1=%d lev2=%d) %8d %6d"
,
nrecs_scanned
,
paramstr
,
level1
,
level2
,
vdate
,
vtime
);
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
!=
0
)
if
(
cgribexVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
!=
0
)
{
Message
(
"tsID = %d recID = %d param = %3d new %3d level = %3d new %3d"
,
tsID
,
recID
,
...
...
src/stream_gribapi.c
View file @
c2526898
...
...
@@ -1117,7 +1117,7 @@ compvar2_t gribapiVarSet(int param, int level1, int level2, int leveltype, int t
}
static
int
gribapiVarCompare
(
compvar2_t
compVar
,
record_t
record
)
int
gribapiVarCompare
(
compvar2_t
compVar
,
record_t
record
,
int
flag
)
{
compvar2_t
compVar0
;
size_t
maxlen
=
sizeof
(
compVar
.
name
);
...
...
@@ -1129,6 +1129,12 @@ int gribapiVarCompare(compvar2_t compVar, record_t record)
compVar0
.
tsteptype
=
record
.
tsteptype
;
memcpy
(
compVar0
.
name
,
record
.
varname
,
maxlen
);
if
(
flag
==
0
)
{
if
(
compVar0
.
tsteptype
==
TSTEP_INSTANT
&&
compVar
.
tsteptype
==
TSTEP_INSTANT3
)
compVar0
.
tsteptype
=
TSTEP_INSTANT3
;
if
(
compVar0
.
tsteptype
==
TSTEP_INSTANT3
&&
compVar
.
tsteptype
==
TSTEP_INSTANT
)
compVar0
.
tsteptype
=
TSTEP_INSTANT
;
}
int
rstatus
=
memcmp
(
&
compVar0
,
&
compVar
,
sizeof
(
compvar2_t
));
return
(
rstatus
);
...
...
@@ -1314,7 +1320,7 @@ int gribapiScanTimestep1(stream_t * streamptr)
compVar
=
gribapiVarSet
(
param
,
level1
,
level2
,
leveltype1
,
tsteptype
,
varname
);
for
(
recID
=
0
;
recID
<
nrecs
;
recID
++
)
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
0
].
records
[
recID
])
==
0
)
break
;
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
0
].
records
[
recID
]
,
1
)
==
0
)
break
;
if
(
cdiInventoryMode
==
1
)
{
...
...
@@ -1626,7 +1632,7 @@ int gribapiScanTimestep2(stream_t * streamptr)
compVar
=
gribapiVarSet
(
param
,
level1
,
level2
,
leveltype1
,
tsteptype
,
varname
);
for
(
recID
=
0
;
recID
<
nrecords
;
recID
++
)
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
==
0
)
break
;
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
==
0
)
break
;
if
(
recID
==
nrecords
)
{
...
...
@@ -1655,7 +1661,7 @@ int gribapiScanTimestep2(stream_t * streamptr)
streamptr
->
tsteps
[
tsID
].
records
[
recID
].
size
=
recsize
;
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
!=
0
)
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
!=
0
)
{
Message
(
"tsID = %d recID = %d param = %3d new %3d level = %3d new %3d"
,
tsID
,
recID
,
...
...
@@ -1906,7 +1912,7 @@ int gribapiScanTimestep(stream_t * streamptr)
for
(
vrecID
=
0
;
vrecID
<
nrecs
;
vrecID
++
)
{
recID
=
streamptr
->
tsteps
[
1
].
recIDs
[
vrecID
];
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
==
0
)
break
;
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
==
0
)
break
;
}
if
(
vrecID
==
nrecs
)
...
...
@@ -1938,7 +1944,7 @@ int gribapiScanTimestep(stream_t * streamptr)
if
(
CDI_Debug
)
Message
(
"%4d %8d %4d %8d %8d %6d"
,
rindex
+
1
,
(
int
)
recpos
,
param
,
level1
,
vdate
,
vtime
);
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
])
!=
0
)
if
(
gribapiVarCompare
(
compVar
,
streamptr
->
tsteps
[
tsID
].
records
[
recID
]
,
0
)
!=
0
)
{
Message
(
"tsID = %d recID = %d param = %3d new %3d level = %3d new %3d"
,
tsID
,
recID
,
...
...
Write
Preview
Markdown
is supported
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