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
0bb6763d
Commit
0bb6763d
authored
Dec 03, 2007
by
Uwe Schulzweida
Browse files
Docu update
parent
fee2ce75
Changes
16
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
0bb6763d
200
7-12
-?? Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
200
8-01
-?? Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* using GRIB library version 1.0.7
* new attribute routines: vlistInqNatts, vlistDefAttr and vlistInqAttr
for Int, Flt and Txt
* Add support for Lambert grids [request: Patrick Samuelsson]
* Version 1.
0.9
released
* Version 1.
1.0
released
2007-10-22 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
...
...
configure
View file @
0bb6763d
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.59 for cdi 1.
0.9
.
# Generated by GNU Autoconf 2.59 for cdi 1.
1.0
.
#
# Report bugs to <Uwe.Schulzweida@zmaw.de>.
#
...
...
@@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME
=
'cdi'
PACKAGE_TARNAME
=
'cdi'
PACKAGE_VERSION
=
'1.
0.9
'
PACKAGE_STRING
=
'cdi 1.
0.9
'
PACKAGE_VERSION
=
'1.
1.0
'
PACKAGE_STRING
=
'cdi 1.
1.0
'
PACKAGE_BUGREPORT
=
'Uwe.Schulzweida@zmaw.de'
# Factoring default headers for most tests.
...
...
@@ -795,7 +795,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat
<<
_ACEOF
\`
configure' configures cdi 1.
0.9
to adapt to many kinds of systems.
\`
configure' configures cdi 1.
1.0
to adapt to many kinds of systems.
Usage:
$0
[OPTION]... [VAR=VALUE]...
...
...
@@ -862,7 +862,7 @@ fi
if
test
-n
"
$ac_init_help
"
;
then
case
$ac_init_help
in
short
|
recursive
)
echo
"Configuration of cdi 1.
0.9
:"
;;
short
|
recursive
)
echo
"Configuration of cdi 1.
1.0
:"
;;
esac
cat
<<
\
_ACEOF
...
...
@@ -996,7 +996,7 @@ fi
test
-n
"
$ac_init_help
"
&&
exit
0
if
$ac_init_version
;
then
cat
<<
\
_ACEOF
cdi configure 1.
0.9
cdi configure 1.
1.0
generated by GNU Autoconf 2.59
Copyright (C) 2003 Free Software Foundation, Inc.
...
...
@@ -1010,7 +1010,7 @@ cat >&5 <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by cdi
$as_me
1.
0.9
, which was
It was created by cdi
$as_me
1.
1.0
, which was
generated by GNU Autoconf 2.59. Invocation command line was
$ $0
$@
...
...
@@ -1697,7 +1697,7 @@ fi
# Define the identity of the package.
PACKAGE
=
cdi
VERSION
=
1.
0.9
VERSION
=
1.
1.0
cat
>>
confdefs.h
<<
_ACEOF
...
...
@@ -5821,7 +5821,7 @@ _ASBOX
} >&5
cat >&5 <<_CSEOF
This file was extended by cdi
$as_me
1.
0.9
, which was
This file was extended by cdi
$as_me
1.
1.0
, which was
generated by GNU Autoconf 2.59. Invocation command line was
CONFIG_FILES =
$CONFIG_FILES
...
...
@@ -5884,7 +5884,7 @@ _ACEOF
cat
>>
$CONFIG_STATUS
<<
_ACEOF
ac_cs_version="
\\
cdi config.status 1.
0.9
cdi config.status 1.
1.0
configured by
$0
, generated by GNU Autoconf 2.59,
with options
\\
"`echo "
$ac_configure_args
" | sed 's/[
\\
""
\`\$
]/
\\\\
&/g'`
\\
"
...
...
configure.ac
View file @
0bb6763d
# Process this file with autoconf to produce a configure script.
AC_INIT(cdi, 1.
0.9
, Uwe.Schulzweida@zmaw.de)
AC_INIT(cdi, 1.
1.0
, Uwe.Schulzweida@zmaw.de)
CONFIG_ABORT=yes
...
...
doc/tex/FUNCTIONS
View file @
0bb6763d
...
...
@@ -85,6 +85,8 @@ Function catalog:
gridInqYlongname Get the longname of a Y-axis
gridDefYunits Define the units of a Y-axis
gridInqYunits Get the units of a Y-axis
gridDefLambert Define the parameter of a Lambert grid
gridInqLambert Get the parameter of a Lambert grid
-------------------------------------------------------------
zaxis
-------------------------------------------------------------
...
...
doc/tex/Modules
View file @
0bb6763d
...
...
@@ -79,6 +79,8 @@ gridDefYlongname grid
gridInqYlongname grid
gridDefYunits grid
gridInqYunits grid
gridDefLambert grid
gridInqLambert grid
zaxisCreate zaxis
zaxisDestroy zaxis
zaxisDuplicate zaxis
...
...
doc/tex/c_grid.tex
View file @
0bb6763d
...
...
@@ -769,3 +769,76 @@ Units of the Y-axis
{
\tt
gridInqYunits
}
returns the units of the Y-axis to the parameter units.
\subsection
{
Define the parameter of a Lambert grid:
{
\tt
gridDefLambert
}}
\index
{
gridDefLambert
}
\label
{
gridDefLambert
}
The function
{
\tt
gridDefLambert
}
defines the parameter of a Lambert grid.
\subsubsection*
{
Usage
}
\begin{verbatim}
void gridDefLambert(int gridID, double originLon, double originLat, double lonParY,
double lat1, double lat2, double xinc, double yinc);
\end{verbatim}
\hspace*
{
4mm
}
\begin{minipage}
[]
{
15cm
}
\begin{deflist}
{
\tt
originLon
\
}
\item
[{\tt gridID}]
Grid ID, from a previous call to
{
\htmlref
{
\tt
gridCreate
}{
gridCreate
}}
\item
[{\tt originLon}]
Longitude of the first grid point
\item
[{\tt originLat}]
Latitude of the first grid point
\item
[{\tt lonParY}]
The East longitude of the meridian which is parallel to the Y-axis
\item
[{\tt lat1}]
First latitude from the pole at which the secant cone cuts the sphere
\item
[{\tt lat2}]
Second latitude at which the secant cone cuts the sphere
\item
[{\tt xinc}]
X-direction grid lenght in meter
\item
[{\tt yinc}]
Y-direction grid lenght in meter
\end{deflist}
\end{minipage}
\subsection
{
Get the parameter of a Lambert grid:
{
\tt
gridInqLambert
}}
\index
{
gridInqLambert
}
\label
{
gridInqLambert
}
The function
{
\tt
gridInqLambert
}
returns the parameter of a Lambert grid.
\subsubsection*
{
Usage
}
\begin{verbatim}
void gridInqLambert(int gridID, double *originLon, double *originLat,
double *lonParY, double *lat1, double *lat2, double *xinc,
double *yinc);
\end{verbatim}
\hspace*
{
4mm
}
\begin{minipage}
[]
{
15cm
}
\begin{deflist}
{
\tt
originLon
\
}
\item
[{\tt gridID}]
Grid ID, from a previous call to
{
\htmlref
{
\tt
gridCreate
}{
gridCreate
}}
\item
[{\tt originLon}]
Longitude of the first grid point
\item
[{\tt originLat}]
Latitude of the first grid point
\item
[{\tt lonParY}]
The East longitude of the meridian which is parallel to the Y-axis
\item
[{\tt lat1}]
First latitude from the pole at which the secant cone cuts the sphere
\item
[{\tt lat2}]
Second latitude at which the secant cone cuts the sphere
\item
[{\tt xinc}]
X-direction grid lenght in meter
\item
[{\tt yinc}]
Y-direction grid lenght in meter
\end{deflist}
\end{minipage}
doc/tex/c_ref.tex
View file @
0bb6763d
...
...
@@ -9,6 +9,16 @@
Create a horizontal Grid
\section*
{
\tt
\htmlref
{
gridDefLambert
}{
gridDefLambert
}}
\begin{verbatim}
void gridDefLambert(int gridID, double originLon, double originLat, double lonParY,
double lat1, double lat2, double xinc, double yinc);
\end{verbatim}
Define the parameter of a Lambert grid
\section*
{
\tt
\htmlref
{
gridDefXbounds
}{
gridDefXbounds
}}
\begin{verbatim}
...
...
@@ -135,6 +145,17 @@ Destroy a horizontal Grid
Duplicate a horizontal Grid
\section*
{
\tt
\htmlref
{
gridInqLambert
}{
gridInqLambert
}}
\begin{verbatim}
void gridInqLambert(int gridID, double *originLon, double *originLat,
double *lonParY, double *lat1, double *lat2, double *xinc,
double *yinc);
\end{verbatim}
Get the parameter of a Lambert grid
\section*
{
\tt
\htmlref
{
gridInqSize
}{
gridInqSize
}}
\begin{verbatim}
...
...
doc/tex/cdi_cman.tex
View file @
0bb6763d
...
...
@@ -124,7 +124,7 @@
\end{picture}
\begin{flushright}
\large\bf
{
Climate Data Interface
\\
Version 1.
0.7
\\
J
une
200
7
}
\large\bf
{
Climate Data Interface
\\
Version 1.
1.0
\\
J
anuary
200
8
}
\end{flushright}
\vfill
...
...
doc/tex/cdi_fman.tex
View file @
0bb6763d
...
...
@@ -123,7 +123,7 @@
\end{picture}
\begin{flushright}
\large\bf
{
Climate Data Interface
\\
Version 1.
0.7
\\
J
une
200
7
}
\large\bf
{
Climate Data Interface
\\
Version 1.
1.0
\\
J
anuary
200
8
}
\end{flushright}
\vfill
...
...
doc/tex/f_grid.tex
View file @
0bb6763d
...
...
@@ -769,3 +769,77 @@ Units of the Y-axis
{
\tt
gridInqYunits
}
returns the units of the Y-axis to the parameter units.
\subsection
{
Define the parameter of a Lambert grid:
{
\tt
gridDefLambert
}}
\index
{
gridDefLambert
}
\label
{
gridDefLambert
}
The function
{
\tt
gridDefLambert
}
defines the parameter of a Lambert grid.
\subsubsection*
{
Usage
}
\begin{verbatim}
SUBROUTINE gridDefLambert(INTEGER gridID, REAL*8 originLon, REAL*8 originLat,
REAL*8 lonParY, REAL*8 lat1, REAL*8 lat2, REAL*8 xinc,
REAL*8 yinc)
\end{verbatim}
\hspace*
{
4mm
}
\begin{minipage}
[]
{
15cm
}
\begin{deflist}
{
\tt
originLon
\
}
\item
[{\tt gridID}]
Grid ID, from a previous call to
{
\htmlref
{
\tt
gridCreate
}{
gridCreate
}}
\item
[{\tt originLon}]
Longitude of the first grid point
\item
[{\tt originLat}]
Latitude of the first grid point
\item
[{\tt lonParY}]
The East longitude of the meridian which is parallel to the Y-axis
\item
[{\tt lat1}]
First latitude from the pole at which the secant cone cuts the sphere
\item
[{\tt lat2}]
Second latitude at which the secant cone cuts the sphere
\item
[{\tt xinc}]
X-direction grid lenght in meter
\item
[{\tt yinc}]
Y-direction grid lenght in meter
\end{deflist}
\end{minipage}
\subsection
{
Get the parameter of a Lambert grid:
{
\tt
gridInqLambert
}}
\index
{
gridInqLambert
}
\label
{
gridInqLambert
}
The function
{
\tt
gridInqLambert
}
returns the parameter of a Lambert grid.
\subsubsection*
{
Usage
}
\begin{verbatim}
SUBROUTINE gridInqLambert(INTEGER gridID, REAL*8 originLon, REAL*8 originLat,
REAL*8 lonParY, REAL*8 lat1, REAL*8 lat2, REAL*8 xinc,
REAL*8 yinc)
\end{verbatim}
\hspace*
{
4mm
}
\begin{minipage}
[]
{
15cm
}
\begin{deflist}
{
\tt
originLon
\
}
\item
[{\tt gridID}]
Grid ID, from a previous call to
{
\htmlref
{
\tt
gridCreate
}{
gridCreate
}}
\item
[{\tt originLon}]
Longitude of the first grid point
\item
[{\tt originLat}]
Latitude of the first grid point
\item
[{\tt lonParY}]
The East longitude of the meridian which is parallel to the Y-axis
\item
[{\tt lat1}]
First latitude from the pole at which the secant cone cuts the sphere
\item
[{\tt lat2}]
Second latitude at which the secant cone cuts the sphere
\item
[{\tt xinc}]
X-direction grid lenght in meter
\item
[{\tt yinc}]
Y-direction grid lenght in meter
\end{deflist}
\end{minipage}
doc/tex/f_ref.tex
View file @
0bb6763d
...
...
@@ -9,6 +9,17 @@
Create a horizontal Grid
\section*
{
\tt
\htmlref
{
gridDefLambert
}{
gridDefLambert
}}
\begin{verbatim}
SUBROUTINE gridDefLambert(INTEGER gridID, REAL*8 originLon, REAL*8 originLat,
REAL*8 lonParY, REAL*8 lat1, REAL*8 lat2, REAL*8 xinc,
REAL*8 yinc)
\end{verbatim}
Define the parameter of a Lambert grid
\section*
{
\tt
\htmlref
{
gridDefXbounds
}{
gridDefXbounds
}}
\begin{verbatim}
...
...
@@ -135,6 +146,17 @@ Destroy a horizontal Grid
Duplicate a horizontal Grid
\section*
{
\tt
\htmlref
{
gridInqLambert
}{
gridInqLambert
}}
\begin{verbatim}
SUBROUTINE gridInqLambert(INTEGER gridID, REAL*8 originLon, REAL*8 originLat,
REAL*8 lonParY, REAL*8 lat1, REAL*8 lat2, REAL*8 xinc,
REAL*8 yinc)
\end{verbatim}
Get the parameter of a Lambert grid
\section*
{
\tt
\htmlref
{
gridInqSize
}{
gridInqSize
}}
\begin{verbatim}
...
...
doc/tex/formats.tex
View file @
0bb6763d
...
...
@@ -29,6 +29,7 @@ data representation and level types are implemented: \\
\begin{tabular}
{
rl
}
\textbf
{
Grid type
}
&
\\
0
&
Latitude/longitude grid
\\
3
&
Lambert conformal grid
\\
4
&
Gaussian latitude/longitude grid
\\
10
&
Rotated latitude/longitude grid
\\
50
&
Spherical Harmonic Coefficients
\\
...
...
doc/tex/grid.tex
View file @
0bb6763d
...
...
@@ -9,6 +9,7 @@ The following different Grid types are available:
\item
[{\large\tt GRID\_GENERIC }]
Generic user defined grid
\item
[{\large\tt GRID\_GAUSSIAN }]
Gaussian latitude/longitude grid
\item
[{\large\tt GRID\_LONLAT }]
Equidistant longitude/latitude grid
\item
[{\large\tt GRID\_LAMBERT }]
Lambert conformal grid
\item
[{\large\tt GRID\_SPECTRAL }]
Spherical harmonic coefficients
\item
[{\large\tt GRID\_GME }]
Icosahedral-hexagonal GME grid
\item
[{\large\tt GRID\_CURVILINEAR}]
Curvilinear grid
...
...
doc/tex/variable.tex
View file @
0bb6763d
...
...
@@ -26,3 +26,16 @@ predefined constants:
\item
[{\large\tt DATATYPE\_FLT64}]
64 bit floating point
\end{deflist}
\end{minipage}
\vspace*
{
3mm
}
To define attributes, one of the following data types must be use:
\vspace*
{
3mm
}
\hspace*
{
8mm
}
\begin{minipage}
{
15cm
}
\begin{deflist}
{{
\large\tt
DATATYPE
\_
TXT
\ \
}}
\item
[{\large\tt DATATYPE\_TXT}]
Text
\item
[{\large\tt DATATYPE\_INT}]
Integer
\item
[{\large\tt DATATYPE\_FLT}]
Floating point
\end{deflist}
\end{minipage}
src/grid.c
View file @
0bb6763d
...
...
@@ -3799,6 +3799,26 @@ const double *gridInqYvalsPtr(int gridID)
}
/*
@Function gridDefLambert
@Title Define the parameter of a Lambert grid
@Prototype void gridDefLambert(int gridID, double originLon, double originLat, double lonParY, double lat1, double lat2, double xinc, double yinc)
@Parameter
@Item gridID Grid ID, from a previous call to @fref{gridCreate}
@Item originLon Longitude of the first grid point
@Item originLat Latitude of the first grid point
@Item lonParY The East longitude of the meridian which is parallel to the Y-axis
@Item lat1 First latitude from the pole at which the secant cone cuts the sphere
@Item lat2 Second latitude at which the secant cone cuts the sphere
@Item xinc X-direction grid lenght in meter
@Item yinc Y-direction grid lenght in meter
@Description
The function @func{gridDefLambert} defines the parameter of a Lambert grid.
@EndFunction
*/
void
gridDefLambert
(
int
gridID
,
double
originLon
,
double
originLat
,
double
lonParY
,
double
lat1
,
double
lat2
,
double
xinc
,
double
yinc
)
{
...
...
@@ -3823,6 +3843,26 @@ void gridDefLambert(int gridID, double originLon, double originLat, double lonPa
}
/*
@Function gridInqLambert
@Title Get the parameter of a Lambert grid
@Prototype void gridInqLambert(int gridID, double *originLon, double *originLat, double *lonParY, double *lat1, double *lat2, double *xinc, double *yinc)
@Parameter
@Item gridID Grid ID, from a previous call to @fref{gridCreate}
@Item originLon Longitude of the first grid point
@Item originLat Latitude of the first grid point
@Item lonParY The East longitude of the meridian which is parallel to the Y-axis
@Item lat1 First latitude from the pole at which the secant cone cuts the sphere
@Item lat2 Second latitude at which the secant cone cuts the sphere
@Item xinc X-direction grid lenght in meter
@Item yinc Y-direction grid lenght in meter
@Description
The function @func{gridInqLambert} returns the parameter of a Lambert grid.
@EndFunction
*/
void
gridInqLambert
(
int
gridID
,
double
*
originLon
,
double
*
originLat
,
double
*
lonParY
,
double
*
lat1
,
double
*
lat2
,
double
*
xinc
,
double
*
yinc
)
{
...
...
src/stream_grb.c
View file @
0bb6763d
...
...
@@ -42,18 +42,18 @@ int gribGetGridType(int *isec2)
switch
(
ISEC2_GridType
)
{
case
0
:
case
10
:
case
GTYPE_LATLON
:
case
GTYPE_LATLON_ROT
:
{
gridtype
=
GRID_LONLAT
;
break
;
}
case
3
:
case
GTYPE_LAMBERT
:
{
gridtype
=
GRID_LAMBERT
;
break
;
}
case
4
:
case
GTYPE_GAUSSIAN
:
{
if
(
ISEC2_Reduced
)
gridtype
=
GRID_GAUSSIAN_REDUCED
;
...
...
@@ -61,12 +61,12 @@ int gribGetGridType(int *isec2)
gridtype
=
GRID_GAUSSIAN
;
break
;
}
case
50
:
case
GTYPE_SPECTRAL
:
{
gridtype
=
GRID_SPECTRAL
;
break
;
}
case
192
:
case
GTYPE_GME
:
{
gridtype
=
GRID_GME
;
break
;
...
...
@@ -843,6 +843,7 @@ void grbAddRecord(int streamID, int code, int *isec1, int *isec2, double *fsec2,
if
(
ISEC4_NumValues
!=
ISEC2_NumLon
*
ISEC2_NumLat
)
Error
(
func
,
"wrong datasize! isec4len = %d isec2len = %d"
,
ISEC4_NumValues
,
ISEC2_NumLon
*
ISEC2_NumLat
);
grid
.
size
=
ISEC4_NumValues
;
grid
.
xsize
=
ISEC2_NumLon
;
grid
.
ysize
=
ISEC2_NumLat
;
...
...
@@ -1909,6 +1910,8 @@ void grbDefGrid(int *isec1, int *isec2, int gridID)
ISEC2_Xinc
=
NINT
(
xincm
);
ISEC2_Yinc
=
NINT
(
yincm
);
ISEC2_ScanFlag
=
2
;
/* scanning west to east, south to north */
break
;
}
case
GRID_SPECTRAL
:
...
...
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