Commit b486ef4c authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

GRIB2: added support for layers with zaxis type ZAXIS_PRESSURE

parent 64b05458
......@@ -2,6 +2,10 @@
* Version 1.6.1 released
2013-06-11 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* GRIB2: added support for layers with zaxis type ZAXIS_PRESSURE
2013-06-06 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* cdfDefVarMissval: changed xtype from NC_BYTE to NC_INT for missvals > 127 (workaround for a netCDF bug)
......
......@@ -3,6 +3,8 @@ CDI NEWS
Version 1.6.1 (18 June 2013):
New features:
* GRIB2: added support for layers with zaxis type ZAXIS_PRESSURE
New functions:
* cdiHaveFiletype(): Check whether a filetype is available
Fixed bugs:
......
......@@ -21,7 +21,7 @@ case "${HOSTNAME}" in
--with-grib_api=$HOME/local/gribapi-1.10.4 \
--with-netcdf=$HOME/local \
--with-szlib=$HOME/local \
CC=gcc CFLAGS="-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O3 -march=native -Df2cFortran" XXLIBS="-L/opt/local/lib -lopenjpeg"
CC=gcc CFLAGS="-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O3 -march=native -Df2cFortran"
;;
cinglung*|feilung*|wanglung*)
./configure --prefix=$HOME/local \
......
......@@ -2781,20 +2781,19 @@ void gribapiDefLevel(int editionNumber, grib_handle *gh, int param, int zaxisID,
}
else
{
getLevelFactor(dlevel1, &factor, &scaled_level);
gribapiDefLevelType(gh, gcinit, "typeOfFirstFixedSurface", GRIB2_LTYPE_ISOBARIC);
if ( lbounds ) gribapiDefLevelType(gh, gcinit, "typeOfSecondFixedSurface", GRIB2_LTYPE_ISOBARIC);
getLevelFactor(dlevel1, &factor, &scaled_level);
GRIB_CHECK(grib_set_long(gh, "scaleFactorOfFirstFixedSurface", factor), 0);
GRIB_CHECK(grib_set_long(gh, "scaledValueOfFirstFixedSurface", scaled_level), 0);
/*
if ( lbounds )
{
getLevelFactor(dlevel2, &factor, &scaled_level);
printf("level1 %g level2 %g %ld %ld\n", dlevel1, dlevel2, factor, scaled_level);
gribapiDefLevelType(gh, gcinit, "typeOfSecondFixedSurface", GRIB2_LTYPE_ISOBARIC);
GRIB_CHECK(grib_set_long(gh, "scaleFactorOfSecondFixedSurface", factor), 0);
GRIB_CHECK(grib_set_long(gh, "scaleFactorOfSecondFixedSurface", factor), 0);
GRIB_CHECK(grib_set_long(gh, "scaledValueOfSecondFixedSurface", scaled_level), 0);
}
*/
}
break;
......@@ -2855,9 +2854,11 @@ void gribapiDefLevel(int editionNumber, grib_handle *gh, int param, int zaxisID,
else if ( memcmp(units, "dm", 2) == 0 ) scalefactor = 0.1;
else scalefactor = 1; // meter
gribapiDefLevelType(gh, gcinit, "typeOfFirstFixedSurface", GRIB2_LTYPE_LANDDEPTH);
if ( lbounds ) gribapiDefLevelType(gh, gcinit, "typeOfSecondFixedSurface", GRIB2_LTYPE_LANDDEPTH);
dlevel1 *= scalefactor;
getLevelFactor(dlevel1, &factor, &scaled_level);
gribapiDefLevelType(gh, gcinit, "typeOfFirstFixedSurface", GRIB2_LTYPE_LANDDEPTH);
GRIB_CHECK(grib_set_long(gh, "scaleFactorOfFirstFixedSurface", factor), 0);
GRIB_CHECK(grib_set_long(gh, "scaledValueOfFirstFixedSurface", scaled_level), 0);
......@@ -2865,7 +2866,6 @@ void gribapiDefLevel(int editionNumber, grib_handle *gh, int param, int zaxisID,
{
dlevel2 *= scalefactor;
getLevelFactor(dlevel2, &factor, &scaled_level);
gribapiDefLevelType(gh, gcinit, "typeOfSecondFixedSurface", GRIB2_LTYPE_LANDDEPTH);
GRIB_CHECK(grib_set_long(gh, "scaleFactorOfSecondFixedSurface", factor), 0);
GRIB_CHECK(grib_set_long(gh, "scaledValueOfSecondFixedSurface", scaled_level), 0);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment