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
8ea5164b
Commit
8ea5164b
authored
Sep 17, 2013
by
Uwe Schulzweida
Browse files
grib2GetLevel: check scaledValueOfSecondFixedSurface
parent
cdcf2014
Changes
2
Hide whitespace changes
Inline
Side-by-side
app/cdi.c
View file @
8ea5164b
...
...
@@ -425,7 +425,7 @@ void printShortinfo(int streamID, int vlistID, int vardis)
levelsize
=
zaxisInqSize
(
zaxisID
);
/* zaxisInqLongname(zaxisID, longname); */
zaxisName
(
zaxistype
,
longname
);
longname
[
1
7
]
=
0
;
longname
[
1
8
]
=
0
;
zaxisInqUnits
(
zaxisID
,
units
);
units
[
12
]
=
0
;
if
(
zaxistype
==
ZAXIS_GENERIC
&&
ltype
!=
0
)
...
...
src/stream_gribapi.c
View file @
8ea5164b
...
...
@@ -748,6 +748,7 @@ void grib2GetLevel(grib_handle *gh, int *leveltype, int *lbounds, int *level1, i
if
(
status
==
0
)
leveltype2
=
lpar
;
if
(
*
leveltype
!=
255
&&
leveltype2
!=
255
&&
leveltype2
>
0
)
*
lbounds
=
1
;
if
(
*
leveltype
==
GRIB2_LTYPE_REFERENCE
&&
leveltype2
==
1
)
*
lbounds
=
0
;
if
(
*
leveltype
==
GRIB2_LTYPE_LANDDEPTH
)
{
...
...
@@ -762,8 +763,13 @@ void grib2GetLevel(grib_handle *gh, int *leveltype, int *lbounds, int *level1, i
GRIB_CHECK
(
grib_get_long
(
gh
,
"scaleFactorOfFirstFixedSurface"
,
&
factor
),
0
);
GRIB_CHECK
(
grib_get_long
(
gh
,
"scaledValueOfFirstFixedSurface"
,
&
llevel
),
0
);
if
(
llevel
!=
GRIB_MISSING_LONG
&&
factor
!=
GRIB_MISSING_LONG
)
dlevel1
=
llevel
*
grib2ScaleFactor
(
factor
);
if
(
llevel
!=
GRIB_MISSING_LONG
)
{
if
(
factor
!=
GRIB_MISSING_LONG
)
dlevel1
=
llevel
*
grib2ScaleFactor
(
factor
);
else
dlevel1
=
llevel
;
}
if
(
*
level_sf
!=
0
)
dlevel1
*=
(
*
level_sf
);
...
...
@@ -771,8 +777,13 @@ void grib2GetLevel(grib_handle *gh, int *leveltype, int *lbounds, int *level1, i
{
GRIB_CHECK
(
grib_get_long
(
gh
,
"scaleFactorOfSecondFixedSurface"
,
&
factor
),
0
);
GRIB_CHECK
(
grib_get_long
(
gh
,
"scaledValueOfSecondFixedSurface"
,
&
llevel
),
0
);
if
(
llevel
!=
GRIB_MISSING_LONG
&&
factor
!=
GRIB_MISSING_LONG
)
dlevel2
=
llevel
*
grib2ScaleFactor
(
factor
);
if
(
llevel
!=
GRIB_MISSING_LONG
)
{
if
(
factor
!=
GRIB_MISSING_LONG
)
dlevel2
=
llevel
*
grib2ScaleFactor
(
factor
);
else
dlevel2
=
llevel
;
}
if
(
*
level_sf
!=
0
)
dlevel2
*=
(
*
level_sf
);
}
...
...
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