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
2fb0559e
Commit
2fb0559e
authored
Aug 02, 2012
by
Thomas Jahns
🤸
Browse files
Merge of trunk r1452 into cdi-pio.
parent
72d373eb
Changes
96
Hide whitespace changes
Inline
Side-by-side
.gitattributes
View file @
2fb0559e
...
...
@@ -91,6 +91,7 @@ examples/cdi_read_f.f -text
examples/cdi_read_f2003.f90 -text
examples/cdi_read_records.c -text
examples/cdi_write.c -text
examples/cdi_write_ens.c -text
examples/cdi_write_f.f -text
examples/cdi_write_f2003.f90 -text
examples/compf -text
...
...
@@ -292,6 +293,9 @@ tables/echam5 -text
tables/echam6 -text
tables/ecmwf -text
tables/gen_tableheaderfile -text
tables/grib_api/grib2/4.5.78.150.table -text
tables/grib_api/grib2/section.4.def -text
tables/grib_api/grib2/template.3.101.def -text
tables/mpiom1 -text
tables/remo -text
tables/template.3.101.def -text
...
...
ChangeLog
View file @
2fb0559e
2012-07-?? Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* Version 1.5.6 released
* using CGRIBEX library version 1.5.3
2012-07-17 Modali Kameswarrao <modali.kameswarrao@zmaw.de>
* added vlistDefVarEnsemble() for GRIB and netCDF
2012-07-13 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added call to cdiInitialize() in all streamOpen functions (bug fix)
* added support for environment variable NC_CHUNKSIZEHINT [Feature #2142]
2012-07-04 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* grib scan timestep: changed Error() to Warning() for inconsistent timesteps
2012-07-04 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_cdf::define_all_grids: modify check for same x and y varids
* cdfInqContents: set all undefined 1D variables to data variables [request: Florian Prill]
2012-06-20 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* cdf_write_var_data: bug fix for unscaled uint8, int8, int16, int32 (bug introduced in 1.5.5)
2012-06-18 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* grib_api: use key significanceOfReferenceTime only for GRIB2
2012-06-06 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added support for grib_api key stepType [request: Drte Liermann]
* changed TIME_CONSTANT and TIME_VARIABLE to TSTEP_CONSTANT and TSTEP_XXX
* renamed vlistInqVarTime() vlistInqVarTsteptype()
2012-06-01 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_gribapi: added support for level type HYBRID_HALF [request: Drte Liermann]
2012-05-18 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_cdf::cdfDefUnstructured: fixed memory bug [ICON - Bug #2398]
2012-05-15 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* Version 1.5.5 released
* using CGRIBEX library version 1.5.2
2012-05-02 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* cdi.h: added vlistDefVarTime() [request: Florian Prill]
2012-05-02 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_gribapi: bug fix for validation date and time
2012-04-27 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_cdf::define_all_grids: changed scale_add() parameter from x to y (bug fix)
2012-04-26 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added support for ZAXIS_DEPTH_BELOW_LAND units "mm", "cm", "dm" and "m"
2012-03-24 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added single precision support: streamWriteVarF, streamWriteVarSliceF
2012-02-15 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_cdf::cdfDefDatatype: bug fix for DATATYPE_UINT8
2012-02-02 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* stream_cdf::cdfDefCurvilinear: bug fix for CLM s,u,v grids [report: Hans-Jrgen Panitz]
2012-01-30 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* Version 1.5.4 released
2011-12-27 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added support for GRIB2 packing type grid_ieee
2011-12-19 Luis Kornblueh <Luis.Kornblueh@zmaw.de>
* added suppport for GRIB2 level type 150
2011-12-13 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* verify_coordinate_vars: bug fix in check for units = "1" [report: Katharina Six]
...
...
@@ -6,6 +96,11 @@
* added support for netCDF attributes scale_factor and add_offset for lon/lat coordinates
2012-01-06 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added support for GRIB gaussian grid parameter NumPar on non global grids [Bug #1711]
* added interface functions gridDefNP/gridInqNP (number of parallels between a pole and the equator)
2011-11-04 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* added support for GRIB1_LTYPE_SIGMA_LAYER
...
...
Makefile.in
View file @
2fb0559e
...
...
@@ -210,6 +210,7 @@ JASPER_LIBS = @JASPER_LIBS@
LD
=
@LD@
LDFLAGS
=
@LDFLAGS@
LIBOBJS
=
@LIBOBJS@
LIBPNG_LIBS
=
@LIBPNG_LIBS@
LIBS
=
@LIBS@
LIBTOOL
=
@LIBTOOL@
LIPO
=
@LIPO@
...
...
@@ -228,6 +229,7 @@ NM = @NM@
NMEDIT
=
@NMEDIT@
OBJDUMP
=
@OBJDUMP@
OBJEXT
=
@OBJEXT@
OPENJPEG_LIBS
=
@OPENJPEG_LIBS@
OTOOL
=
@OTOOL@
OTOOL64
=
@OTOOL64@
PACKAGE
=
@PACKAGE@
...
...
@@ -253,7 +255,6 @@ SYSTEM_TYPE = @SYSTEM_TYPE@
SZLIB_INCLUDE
=
@SZLIB_INCLUDE@
SZLIB_LIBS
=
@SZLIB_LIBS@
THREADS_INCLUDE
=
@THREADS_INCLUDE@
THREADS_LDFLAGS
=
@THREADS_LDFLAGS@
THREADS_LIBS
=
@THREADS_LIBS@
USER_NAME
=
@USER_NAME@
USE_MPI
=
@USE_MPI@
...
...
@@ -304,6 +305,7 @@ localstatedir = @localstatedir@
mandir
=
@mandir@
mkdir_p
=
@mkdir_p@
oldincludedir
=
@oldincludedir@
openjpeg_LIBS
=
@openjpeg_LIBS@
pdfdir
=
@pdfdir@
prefix
=
@prefix@
program_transform_name
=
@program_transform_name@
...
...
NEWS
View file @
2fb0559e
CDI NEWS
--------
Version 1.5.6 (?? ??? 2012):
New features:
Fixed bugs:
* wrong netCDF output for unscaled uint8, int8, int16, int32 variables (bug introduced in 1.5.5)
Version 1.5.5 (15 May 2012):
New features:
* Added single precision support: streamWriteVarF, streamWriteVarSliceF
* Added support for ZAXIS_DEPTH_BELOW_LAND units "mm", "cm", "dm" and "m"
Version 1.5.4 (30 January 2012):
New features:
* Added support for GRIB2 packing type grid_ieee
* Added support for GRIB2 level type 150
Version 1.5.3 (17 October 2011):
New features:
...
...
app/Makefile.in
View file @
2fb0559e
...
...
@@ -184,6 +184,7 @@ JASPER_LIBS = @JASPER_LIBS@
LD
=
@LD@
LDFLAGS
=
@LDFLAGS@
LIBOBJS
=
@LIBOBJS@
LIBPNG_LIBS
=
@LIBPNG_LIBS@
LIBS
=
@LIBS@
LIBTOOL
=
@LIBTOOL@
LIPO
=
@LIPO@
...
...
@@ -202,6 +203,7 @@ NM = @NM@
NMEDIT
=
@NMEDIT@
OBJDUMP
=
@OBJDUMP@
OBJEXT
=
@OBJEXT@
OPENJPEG_LIBS
=
@OPENJPEG_LIBS@
OTOOL
=
@OTOOL@
OTOOL64
=
@OTOOL64@
PACKAGE
=
@PACKAGE@
...
...
@@ -227,7 +229,6 @@ SYSTEM_TYPE = @SYSTEM_TYPE@
SZLIB_INCLUDE
=
@SZLIB_INCLUDE@
SZLIB_LIBS
=
@SZLIB_LIBS@
THREADS_INCLUDE
=
@THREADS_INCLUDE@
THREADS_LDFLAGS
=
@THREADS_LDFLAGS@
THREADS_LIBS
=
@THREADS_LIBS@
USER_NAME
=
@USER_NAME@
USE_MPI
=
@USE_MPI@
...
...
@@ -278,6 +279,7 @@ localstatedir = @localstatedir@
mandir
=
@mandir@
mkdir_p
=
@mkdir_p@
oldincludedir
=
@oldincludedir@
openjpeg_LIBS
=
@openjpeg_LIBS@
pdfdir
=
@pdfdir@
prefix
=
@prefix@
program_transform_name
=
@program_transform_name@
...
...
app/cdi.c
View file @
2fb0559e
...
...
@@ -256,6 +256,7 @@ void printInfo(int gridtype, int vdate, int vtime, char *varname, double level,
fprintf
(
stdout
,
"Found %d of %d missing values!
\n
"
,
imiss
,
nmiss
);
}
#define MAXCHARS 82
static
void
printShortinfo
(
int
streamID
,
int
vlistID
,
int
vardis
)
...
...
@@ -268,7 +269,7 @@ void printShortinfo(int streamID, int vlistID, int vardis)
int
nrecs
,
nvars
,
nzaxis
,
ntsteps
;
int
levelID
,
levelsize
;
int
tsID
,
ntimeout
;
int
t
imeID
,
taxisID
;
int
t
steptype
,
taxisID
;
int
nbyte
,
nbyte0
;
int
index
;
char
varname
[
CDI_MAX_NAME
];
...
...
@@ -286,10 +287,10 @@ void printShortinfo(int streamID, int vlistID, int vardis)
if
(
vardis
)
fprintf
(
stdout
,
" Var : Institut Source Varname T
ime T
yp Grid
S
ize Num Levels Num
\n
"
);
" Var : Institut Source Varname T
type Dt
yp
e
Grid
s
ize Num Levels Num
\n
"
);
else
fprintf
(
stdout
,
" Var : Institut Source Param T
ime T
yp Grid
S
ize Num Levels Num
\n
"
);
" Var : Institut Source Param T
type Dt
yp
e
Grid
s
ize Num Levels Num
\n
"
);
nvars
=
vlistNvars
(
vlistID
);
...
...
@@ -309,29 +310,31 @@ void printShortinfo(int streamID, int vlistID, int vardis)
instptr
=
institutInqNamePtr
(
vlistInqVarInstitut
(
vlistID
,
varID
));
if
(
instptr
)
fprintf
(
stdout
,
"%-
9s
"
,
instptr
);
fprintf
(
stdout
,
"%-
8s
"
,
instptr
);
else
fprintf
(
stdout
,
"unknown "
);
modelptr
=
modelInqNamePtr
(
vlistInqVarModel
(
vlistID
,
varID
));
if
(
modelptr
)
fprintf
(
stdout
,
"%-
9s
"
,
modelptr
);
fprintf
(
stdout
,
"%-
8s
"
,
modelptr
);
else
fprintf
(
stdout
,
"unknown "
);
if
(
vardis
)
fprintf
(
stdout
,
"%-1
2s
"
,
varname
);
fprintf
(
stdout
,
"%-1
1s
"
,
varname
);
else
fprintf
(
stdout
,
"%-1
2s
"
,
paramstr
);
fprintf
(
stdout
,
"%-1
1s
"
,
paramstr
);
timeID
=
vlistInqVarTime
(
vlistID
,
varID
);
if
(
timeID
==
TIME_CONSTANT
)
fprintf
(
stdout
,
"con "
);
else
fprintf
(
stdout
,
"var "
);
tsteptype
=
vlistInqVarTsteptype
(
vlistID
,
varID
);
if
(
tsteptype
==
TSTEP_CONSTANT
)
fprintf
(
stdout
,
"%-8s"
,
"constant"
);
else
if
(
tsteptype
==
TSTEP_INSTANT
)
fprintf
(
stdout
,
"%-8s"
,
"instant"
);
else
if
(
tsteptype
==
TSTEP_MIN
)
fprintf
(
stdout
,
"%-8s"
,
"min"
);
else
if
(
tsteptype
==
TSTEP_MAX
)
fprintf
(
stdout
,
"%-8s"
,
"max"
);
else
if
(
tsteptype
==
TSTEP_ACCUM
)
fprintf
(
stdout
,
"%-8s"
,
"accum"
);
else
fprintf
(
stdout
,
"%-8s"
,
"unknown"
);
datatype
=
vlistInqVarDatatype
(
vlistID
,
varID
);
if
(
datatype
==
DATATYPE_PACK
)
strcpy
(
pstr
,
"P0"
);
else
if
(
datatype
>
0
&&
datatype
<=
32
)
sprintf
(
pstr
,
"P%d"
,
datatype
);
else
if
(
datatype
==
DATATYPE_CPX32
)
strcpy
(
pstr
,
"C32"
);
...
...
@@ -387,7 +390,7 @@ void printShortinfo(int streamID, int vlistID, int vardis)
nbyte
=
nbyte0
;
for
(
levelID
=
0
;
levelID
<
levelsize
;
levelID
++
)
{
if
(
nbyte
>
80
)
if
(
nbyte
>
MAXCHARS
)
{
fprintf
(
stdout
,
"
\n
"
);
fprintf
(
stdout
,
"%*s"
,
nbyte0
,
""
);
...
...
@@ -404,7 +407,7 @@ void printShortinfo(int streamID, int vlistID, int vardis)
nbyte0
=
fprintf
(
stdout
,
"%33s : "
,
"bounds"
);
for
(
levelID
=
0
;
levelID
<
levelsize
;
levelID
++
)
{
if
(
nbyte
>
80
)
if
(
nbyte
>
MAXCHARS
)
{
fprintf
(
stdout
,
"
\n
"
);
fprintf
(
stdout
,
"%*s"
,
nbyte0
,
""
);
...
...
@@ -430,7 +433,7 @@ void printShortinfo(int streamID, int vlistID, int vardis)
if
(
taxisID
!=
CDI_UNDEFID
)
{
int
calendar
,
unit
;
int
calendar
,
t
unit
s
;
if
(
taxisInqType
(
taxisID
)
==
TAXIS_RELATIVE
)
{
...
...
@@ -443,20 +446,26 @@ void printShortinfo(int streamID, int vlistID, int vardis)
fprintf
(
stdout
,
" RefTime = %4.4d-%2.2d-%2.2d %2.2d:%2.2d:%2.2d"
,
year
,
month
,
day
,
hour
,
minute
,
second
);
unit
=
taxisInqTunit
(
taxisID
);
if
(
unit
!=
CDI_UNDEFID
)
t
unit
s
=
taxisInqTunit
(
taxisID
);
if
(
t
unit
s
!=
CDI_UNDEFID
)
{
if
(
unit
==
TUNIT_YEAR
)
if
(
t
unit
s
==
TUNIT_YEAR
)
fprintf
(
stdout
,
" Units = years"
);
else
if
(
unit
==
TUNIT_MONTH
)
else
if
(
t
unit
s
==
TUNIT_MONTH
)
fprintf
(
stdout
,
" Units = months"
);
else
if
(
unit
==
TUNIT_DAY
)
else
if
(
t
unit
s
==
TUNIT_DAY
)
fprintf
(
stdout
,
" Units = days"
);
else
if
(
unit
==
TUNIT_HOUR
)
else
if
(
tunits
==
TUNIT_12HOURS
)
fprintf
(
stdout
,
" Units = 12hours"
);
else
if
(
tunits
==
TUNIT_6HOURS
)
fprintf
(
stdout
,
" Units = 6hours"
);
else
if
(
tunits
==
TUNIT_3HOURS
)
fprintf
(
stdout
,
" Units = 3hours"
);
else
if
(
tunits
==
TUNIT_HOUR
)
fprintf
(
stdout
,
" Units = hours"
);
else
if
(
unit
==
TUNIT_MINUTE
)
else
if
(
t
unit
s
==
TUNIT_MINUTE
)
fprintf
(
stdout
,
" Units = minutes"
);
else
if
(
unit
==
TUNIT_SECOND
)
else
if
(
t
unit
s
==
TUNIT_SECOND
)
fprintf
(
stdout
,
" Units = seconds"
);
else
fprintf
(
stdout
,
" Units = unknown"
);
...
...
@@ -523,7 +532,7 @@ void setDefaultDataType(char *datatypestr)
{
static
union
{
unsigned
long
l
;
unsigned
char
c
[
sizeof
(
long
)];}
u_byteorder
=
{
1
};
int
nbits
=
-
1
;
enum
{
D_UINT
,
D_INT
,
D_FLT
};
enum
{
D_UINT
,
D_INT
,
D_FLT
,
D_CPX
};
int
dtype
=
-
1
;
if
(
*
datatypestr
==
'i'
||
*
datatypestr
==
'I'
)
...
...
@@ -541,6 +550,11 @@ void setDefaultDataType(char *datatypestr)
dtype
=
D_FLT
;
datatypestr
++
;
}
else
if
(
*
datatypestr
==
'c'
||
*
datatypestr
==
'C'
)
{
dtype
=
D_CPX
;
datatypestr
++
;
}
if
(
isdigit
((
int
)
*
datatypestr
)
)
{
...
...
@@ -564,7 +578,7 @@ void setDefaultDataType(char *datatypestr)
else
{
fprintf
(
stderr
,
"Unsupported number of bits %d!
\n
"
,
nbits
);
fprintf
(
stderr
,
"Use
32/64 for filetype nc,
srv
,
ext
,
ieg
and 1-32
for grb.
\n
"
);
fprintf
(
stderr
,
"Use
I8/I16/I32/F32/F64 for nc/nc2/nc4/nc4c; F32/F64 for grb2/
srv
/
ext
/
ieg
; P1 - P24
for grb
/grb2
.
\n
"
);
exit
(
EXIT_FAILURE
);
}
}
...
...
@@ -602,19 +616,36 @@ void setDefaultDataType(char *datatypestr)
exit
(
EXIT_FAILURE
);
}
}
else
if
(
dtype
==
D_CPX
)
{
if
(
nbits
==
32
)
DefaultDataType
=
DATATYPE_CPX32
;
else
if
(
nbits
==
64
)
DefaultDataType
=
DATATYPE_CPX64
;
else
{
fprintf
(
stderr
,
"Unsupported number of bits = %d for datatype CPX!
\n
"
,
nbits
);
exit
(
EXIT_FAILURE
);
}
}
}
}
if
(
*
datatypestr
==
'l'
||
*
datatypestr
==
'L'
)
{
if
(
IsBigendian
()
)
DefaultByteorder
=
CDI_LITTLEENDIAN
;
datatypestr
++
;
}
if
(
*
datatypestr
==
'b'
||
*
datatypestr
==
'B'
)
if
(
*
datatypestr
!=
0
)
{
if
(
!
IsBigendian
()
)
DefaultByteorder
=
CDI_BIGENDIAN
;
datatypestr
++
;
if
(
*
datatypestr
==
'l'
||
*
datatypestr
==
'L'
)
{
if
(
IsBigendian
()
)
DefaultByteorder
=
CDI_LITTLEENDIAN
;
datatypestr
++
;
}
else
if
(
*
datatypestr
==
'b'
||
*
datatypestr
==
'B'
)
{
if
(
!
IsBigendian
()
)
DefaultByteorder
=
CDI_BIGENDIAN
;
datatypestr
++
;
}
else
{
fprintf
(
stderr
,
"Unsupported character in number of bytes: >%s< !
\n
"
,
datatypestr
);
exit
(
EXIT_FAILURE
);
}
}
}
...
...
@@ -655,18 +686,18 @@ void setDefaultFileType(char *filetypestr)
fprintf
(
stderr
,
"Unexpected character >%c< in file type >%s<!
\n
"
,
*
ftstr
,
filetypestr
);
fprintf
(
stderr
,
"Use format[_nbits] with:
\n
"
);
fprintf
(
stderr
,
" format = grb, grb2, nc, nc2, nc4, nc4c, srv, ext or ieg
\n
"
);
fprintf
(
stderr
,
" nbits = 32/64 for nc/nc2/nc4/nc4c/srv/ext/ieg; 1 - 24 for grb/grb2
\n
"
);
fprintf
(
stderr
,
" nbits = 32/64 for
grb2/
nc/nc2/nc4/nc4c/srv/ext/ieg; 1 - 24 for grb/grb2
\n
"
);
exit
(
EXIT_FAILURE
);
}
}
}
}
static
int
handle_error
(
int
cdiErrno
,
const
char
*
fmt
,
...)
{
va_list
args
;
va_start
(
args
,
fmt
);
printf
(
"
\n
"
);
...
...
@@ -680,7 +711,7 @@ int handle_error(int cdiErrno, const char *fmt, ...)
return
(
cdiErrno
);
}
static
void
defineCompress
(
const
char
*
arg
)
{
size_t
len
=
strlen
(
arg
);
...
...
@@ -734,10 +765,13 @@ int main(int argc, char *argv[])
if
(
Progname
==
0
)
Progname
=
argv
[
0
];
else
Progname
++
;
while
(
(
c
=
getopt
(
argc
,
argv
,
"f:t:w:z:cdhlMmqRrsvVZ"
))
!=
EOF
)
while
(
(
c
=
getopt
(
argc
,
argv
,
"
b:
f:t:w:z:cdhlMmqRrsvVZ"
))
!=
EOF
)
{
switch
(
c
)
{
case
'b'
:
setDefaultDataType
(
optarg
);
break
;
case
'd'
:
Debug
=
1
;
break
;
...
...
@@ -788,10 +822,7 @@ int main(int argc, char *argv[])
if
(
optind
<
argc
)
fname1
=
argv
[
optind
++
];
if
(
optind
<
argc
)
fname2
=
argv
[
optind
++
];
if
(
optind
<
argc
)
{
fprintf
(
stderr
,
"optind: %d argc: %d
\n
"
,
optind
,
argc
);
}
if
(
optind
<
argc
)
fprintf
(
stderr
,
"optind: %d argc: %d
\n
"
,
optind
,
argc
);
if
(
Debug
||
Version
)
version
();
...
...
@@ -859,7 +890,7 @@ int main(int argc, char *argv[])
if
(
Debug
)
fprintf
(
stderr
,
"ntsteps = %d
\n
"
,
ntsteps
);
if
(
fname2
)
vlistID2
=
vlistDuplicate
(
vlistID1
);
for
(
varID
=
0
;
varID
<
nvars
;
varID
++
)
{
gridID
=
vlistInqVarGrid
(
vlistID1
,
varID
);
...
...
@@ -897,7 +928,7 @@ int main(int argc, char *argv[])
if
(
otableID
==
CDI_UNDEFID
)
otableID
=
itableID
;
}
if
(
vlistNumber
(
vlistID1
)
!=
CDI_REAL
)
datasize
*=
2
;
data
=
(
double
*
)
malloc
(
datasize
*
sizeof
(
double
));
...
...
@@ -940,7 +971,7 @@ int main(int argc, char *argv[])
gridID
=
vlistInqVarGrid
(
vlistID1
,
varID
);
zaxisID
=
vlistInqVarZaxis
(
vlistID1
,
varID
);
param
=
vlistInqVarParam
(
vlistID1
,
varID
);
cdiParamToString
(
param
,
paramstr
,
sizeof
(
paramstr
));
if
(
Vardis
)
vlistInqVarName
(
vlistID1
,
varID
,
varname
);
...
...
@@ -953,7 +984,7 @@ int main(int argc, char *argv[])
gridsize
=
gridInqSize
(
gridID
);
level
=
zaxisInqLevel
(
zaxisID
,
levelID
);
missval
=
vlistInqVarMissval
(
vlistID1
,
varID
);
if
(
Info
)
printInfo
(
gridtype
,
vdate
,
vtime
,
varname
,
level
,
gridsize
,
number
,
nmiss
,
missval
,
data
,
Vardis
);
...
...
@@ -971,7 +1002,7 @@ int main(int argc, char *argv[])
{
for
(
varID
=
0
;
varID
<
nvars
;
varID
++
)
{
if
(
vlistInqVarT
im
e
(
vlistID1
,
varID
)
==
T
IME
_CONSTANT
&&
tsID
>
0
)
continue
;
if
(
vlistInqVarT
steptyp
e
(
vlistID1
,
varID
)
==
T
STEP
_CONSTANT
&&
tsID
>
0
)
continue
;
number
=
vlistInqVarNumber
(
vlistID1
,
varID
);
gridID
=
vlistInqVarGrid
(
vlistID1
,
varID
);
...
...
app/printinfo.h
View file @
2fb0559e
...
...
@@ -166,9 +166,14 @@ void printGridInfo(int vlistID)
yinc
=
gridInqYinc
(
gridID
);
if
(
gridtype
==
GRID_GAUSSIAN_REDUCED
)
fprintf
(
stdout
,
"size : dim = %d nlat = %d
\n
"
,
gridsize
,
ysize
);
fprintf
(
stdout
,
"size : dim = %d nlat = %d"
,
gridsize
,
ysize
);
else
fprintf
(
stdout
,
"size : dim = %d nlon = %d nlat = %d
\n
"
,
gridsize
,
xsize
,
ysize
);
fprintf
(
stdout
,
"size : dim = %d nlon = %d nlat = %d"
,
gridsize
,
xsize
,
ysize
);
if
(
gridtype
==
GRID_GAUSSIAN
||
gridtype
==
GRID_GAUSSIAN_REDUCED
)
fprintf
(
stdout
,
" np = %d"
,
gridInqNP
(
gridID
));
fprintf
(
stdout
,
"
\n
"
);
if
(
xsize
>
0
)
{
...
...
config/default
View file @
2fb0559e
...
...
@@ -11,27 +11,32 @@ fi
set
-x
#
case
"
${
HOSTNAME
}
"
in
tornado
*
)
./configure
--prefix
=
/scratch/work/mh0033/m300050/cdi-pio
\
--disable-shared
\
--enable-maintainer-mode
\
--with-netcdf
=
/sw/sles10-x64/netcdf-4.1.3-static-nag52
\
--with-hdf5
=
/sw/sles10-x64/hdf5-1.8.7-static
\
--with-zlib
=
/sw/sles10-x64/zlib-1.2.3
\
--with-szlib
=
/sw/sles10-x64/szip-2.1-static
\
CC
=
gcc
CFLAGS
=
"-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O2 -DNAGf90Fortran"
;;
# i386-apple-darwin10
bailung
*
)
./configure
--prefix
=
$HOME
/local
\
--enable-maintainer-mode
\
--enable-swig
\
--enable-python
\
--with-jasper
=
$HOME
/local
\
--with-grib_api
=
$HOME
/local
\
--with-jasper
=
/opt
/local
\
--with-grib_api
=
$HOME
/local
/gribapi-1.9.16
\
--with-netcdf
=
$HOME
/local
\
--with-szlib
=
$HOME
/local
\
CC
=
gcc
CFLAGS
=
"-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O2 -Df2cFortran"
CC
=
gcc
CFLAGS
=
"-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O3 -Df2cFortran"
LIBS
=
"-L/opt/local/lib -lopenjpeg"
;;
cinglung
*
|
feilung
*
|
wanglung
*
)
./configure
--prefix
=
$HOME
/local
\
--enable-shared
\
--enable-maintainer-mode
\
--enable-swig
\
--enable-python
\
--with-jasper
=
/opt/local
\
--with-openjpeg
=
/opt/local
\
--with-libpng
=
/opt/local
\
--with-grib_api
=
/opt/local
\
--with-netcdf
=
/opt/local
\
--with-hdf5
=
/opt/local
\
--with-szlib
=
/opt/local
\
CC
=
gcc
CFLAGS
=
"-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O2 -DpgiFortran"
;;
hama
*
)
./configure
--prefix
=
$HOME
/local
\
...
...
@@ -42,7 +47,7 @@ case "${HOSTNAME}" in
--with-grib_api
=
$HOME
/local/gribapi-1.9.8
\
--with-netcdf
=
/opt/local
\
--with-szlib
=
$HOME
/local
\
CC
=
gcc
CFLAGS
=
"-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O
2
-Df2cFortran"
CC
=
gcc
CFLAGS
=
"-g -pipe -D_REENTRANT -Wall -W -Wfloat-equal -pedantic -O
3
-Df2cFortran"
;;
# ia64-nec-linux
ds
*
)
...
...
@@ -120,12 +125,13 @@ case "${HOSTNAME}" in
blizzard
*
)
CONFIG_SHELL
=
/bin/bash /bin/bash
\
./configure
--prefix
=
$HOME
/local
\
--with-netcdf
=
/sw/aix61/netcdf-4.1.1-rc2
\
--with-hdf5
=
/sw/aix61/hdf5-1.8.4-patch1-threadsafe
\
--with-zlib
=
/sw/aix53/zlib-1.2.3
\
--with-szlib
=
/sw/aix53/szip-2.1
\
AR
=
"ar -X 64"
LDFLAGS
=
"-brtl"
FC
=
xlf_r
CC
=
xlc_r
\
CFLAGS
=
"-g -O3 -q64 -qhot -qstrict -qarch=auto -qtune=auto -DHAVE_MMAP -Dextname"
\
--with-netcdf
=
/sw/aix61/netcdf-4.2
\
--with-hdf5
=
/sw/aix61/hdf5-1.8.8-threadsafe
\
--with-zlib
=
/sw/aix61/zlib-1.2.6
\
--with-szlib
=
/sw/aix61/szip-2.1-threadsafe
\
AR
=
"ar -X 64"
LDFLAGS
=
"-brtl"
FC
=
xlf2003_r
CC
=
xlc_r
\
CFLAGS
=
"-g -O3 -q64 -qhot -qstrict -qarch=pwr6 -qtune=balanced -qlistfmt=html=transforms -DHAVE_MMAP -Dextname"
\
FCFLAGS
=
"-qsuffix=cpp=f90"
\
SHELL
=
/bin/bash
;;
*
)
...
...
config/interface.rb
View file @
2fb0559e
require
'mkmf'
require
'rbconfig'
if
RUBY_VERSION
[
0
,
3
]
==
'1.8'
puts
"-I
#{
Config
::
expand
(
CONFIG
[
'archdir'
])
}
"
else
puts
"-I
#{
Config
::
expand
(
CONFIG
[
'rubyhdrdir'
]
)
}
-I
#{
Config
::
expand
(
CONFIG
[
'rubyhdrdir'
]
)
}
/
#{
Config
::
expand
(
CONFIG
[
'arch'
]
)
}
"
puts
"-I
#{
Rb
Config
::
CONFIG
[
'rubyhdrdir'
]
}
-I
#{
Rb
Config
::
CONFIG
[
'rubyhdrdir'
]
}
/
#{
Rb
Config
::
CONFIG
[
'arch'
]
}
"
end
configure
View file @
2fb0559e
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for cdi 1.5.
4
.
# Generated by GNU Autoconf 2.69 for cdi 1.5.
6
.
#
# Report bugs to <http://code.zmaw.de/projects/cdi>.
#
...
...
@@ -590,8 +590,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='cdi'
PACKAGE_TARNAME='cdi'
PACKAGE_VERSION='1.5.
4
'
PACKAGE_STRING='cdi 1.5.
4
'
PACKAGE_VERSION='1.5.
6
'
PACKAGE_STRING='cdi 1.5.
6
'
PACKAGE_BUGREPORT='http://code.zmaw.de/projects/cdi'
PACKAGE_URL=''
...
...
@@ -671,6 +671,9 @@ ENABLE_CGRIBEX
ENABLE_GRIB
GRIB_API_LIBS
GRIB_API_INCLUDE
LIBPNG_LIBS
OPENJPEG_LIBS