Commit 0bb6763d authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

Docu update

parent fee2ce75
2007-12-?? Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
2008-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>
......
#! /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'`\\"
......
# 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
......
......@@ -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
-------------------------------------------------------------
......
......@@ -79,6 +79,8 @@ gridDefYlongname grid
gridInqYlongname grid
gridDefYunits grid
gridInqYunits grid
gridDefLambert grid
gridInqLambert grid
zaxisCreate zaxis
zaxisDestroy zaxis
zaxisDuplicate zaxis
......
......@@ -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}
......@@ -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}
......
......@@ -124,7 +124,7 @@
\end{picture}
\begin{flushright}
\large\bf{Climate Data Interface \\ Version 1.0.7 \\ June 2007}
\large\bf{Climate Data Interface \\ Version 1.1.0 \\ January 2008}
\end{flushright}
\vfill
......
......@@ -123,7 +123,7 @@
\end{picture}
\begin{flushright}
\large\bf{Climate Data Interface \\ Version 1.0.7 \\ June 2007}
\large\bf{Climate Data Interface \\ Version 1.1.0 \\ January 2008}
\end{flushright}
\vfill
......
......@@ -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}
......@@ -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}
......
......@@ -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 \\
......
......@@ -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
......
......@@ -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}
......@@ -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)
{
......
......@@ -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:
......
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