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
78226c31
Commit
78226c31
authored
Jul 04, 2017
by
Uwe Schulzweida
Browse files
Changed gridsize type from int to size_t.
parent
55cde1d5
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
doc/tex/c_quick_ref.tex
View file @
78226c31
...
...
@@ -102,7 +102,7 @@ Get number of attributes assigned to this variable.
\section*
{
\tt
\htmlref
{
gridCreate
}{
gridCreate
}}
\begin{verbatim}
int gridCreate (int gridtype,
in
t size);
int gridCreate (int gridtype,
size
_
t size);
\end{verbatim}
Create a horizontal Grid.
...
...
@@ -210,7 +210,7 @@ Define the name of a X-axis.
\section*
{
\tt
\htmlref
{
gridDefXsize
}{
gridDefXsize
}}
\begin{verbatim}
void gridDefXsize (int gridID,
in
t xsize);
void gridDefXsize (int gridID,
size
_
t xsize);
\end{verbatim}
Define the size of a X-axis.
...
...
@@ -264,7 +264,7 @@ Define the name of a Y-axis.
\section*
{
\tt
\htmlref
{
gridDefYsize
}{
gridDefYsize
}}
\begin{verbatim}
void gridDefYsize (int gridID,
in
t ysize);
void gridDefYsize (int gridID,
size
_
t ysize);
\end{verbatim}
Define the size of a Y-axis.
...
...
@@ -381,7 +381,7 @@ Get the reference URI to an unstructured grid.
\section*
{
\tt
\htmlref
{
gridInqSize
}{
gridInqSize
}}
\begin{verbatim}
in
t gridInqSize (int gridID);
size
_
t gridInqSize (int gridID);
\end{verbatim}
Get the size of a Grid.
...
...
@@ -444,7 +444,7 @@ Get the name of a X-axis.
\section*
{
\tt
\htmlref
{
gridInqXsize
}{
gridInqXsize
}}
\begin{verbatim}
in
t gridInqXsize (int gridID);
size
_
t gridInqXsize (int gridID);
\end{verbatim}
Get the size of a X-axis.
...
...
@@ -471,7 +471,7 @@ Get the units of a X-axis.
\section*
{
\tt
\htmlref
{
gridInqXval
}{
gridInqXval
}}
\begin{verbatim}
double gridInqXval (int gridID,
in
t index);
double gridInqXval (int gridID,
size
_
t index);
\end{verbatim}
Get one value of a X-axis.
...
...
@@ -480,7 +480,7 @@ Get one value of a X-axis.
\section*
{
\tt
\htmlref
{
gridInqXvals
}{
gridInqXvals
}}
\begin{verbatim}
in
t gridInqXvals (int gridID, double xvals[]);
size
_
t gridInqXvals (int gridID, double xvals[]);
\end{verbatim}
Get all values of a X-axis.
...
...
@@ -525,7 +525,7 @@ Get the name of a Y-axis.
\section*
{
\tt
\htmlref
{
gridInqYsize
}{
gridInqYsize
}}
\begin{verbatim}
in
t gridInqYsize (int gridID);
size
_
t gridInqYsize (int gridID);
\end{verbatim}
Get the size of a Y-axis.
...
...
@@ -552,7 +552,7 @@ Get the units of a Y-axis.
\section*
{
\tt
\htmlref
{
gridInqYval
}{
gridInqYval
}}
\begin{verbatim}
double gridInqYval (int gridID,
in
t index);
double gridInqYval (int gridID,
size
_
t index);
\end{verbatim}
Get one value of a Y-axis.
...
...
@@ -561,7 +561,7 @@ Get one value of a Y-axis.
\section*
{
\tt
\htmlref
{
gridInqYvals
}{
gridInqYvals
}}
\begin{verbatim}
in
t gridInqYvals (int gridID, double yvals[]);
size
_
t gridInqYvals (int gridID, double yvals[]);
\end{verbatim}
Get all values of a Y-axis.
...
...
doc/tex/f_quick_ref.tex
View file @
78226c31
...
...
@@ -104,7 +104,7 @@ Get number of attributes assigned to this variable.
\section*
{
\tt
\htmlref
{
gridCreate
}{
gridCreate
}}
\begin{verbatim}
INTEGER FUNCTION gridCreate (INTEGER gridtype, INTEGER size)
INTEGER FUNCTION gridCreate (INTEGER gridtype, INTEGER
*8
size)
\end{verbatim}
Create a horizontal Grid.
...
...
@@ -212,7 +212,7 @@ Define the name of a X-axis.
\section*
{
\tt
\htmlref
{
gridDefXsize
}{
gridDefXsize
}}
\begin{verbatim}
SUBROUTINE gridDefXsize (INTEGER gridID, INTEGER xsize)
SUBROUTINE gridDefXsize (INTEGER gridID, INTEGER
*8
xsize)
\end{verbatim}
Define the size of a X-axis.
...
...
@@ -266,7 +266,7 @@ Define the name of a Y-axis.
\section*
{
\tt
\htmlref
{
gridDefYsize
}{
gridDefYsize
}}
\begin{verbatim}
SUBROUTINE gridDefYsize (INTEGER gridID, INTEGER ysize)
SUBROUTINE gridDefYsize (INTEGER gridID, INTEGER
*8
ysize)
\end{verbatim}
Define the size of a Y-axis.
...
...
@@ -473,7 +473,7 @@ Get the units of a X-axis.
\section*
{
\tt
\htmlref
{
gridInqXval
}{
gridInqXval
}}
\begin{verbatim}
DOUBLEPRECISION FUNCTION gridInqXval (INTEGER gridID, INTEGER index)
DOUBLEPRECISION FUNCTION gridInqXval (INTEGER gridID, INTEGER
*8
index)
\end{verbatim}
Get one value of a X-axis.
...
...
@@ -554,7 +554,7 @@ Get the units of a Y-axis.
\section*
{
\tt
\htmlref
{
gridInqYval
}{
gridInqYval
}}
\begin{verbatim}
DOUBLEPRECISION FUNCTION gridInqYval (INTEGER gridID, INTEGER index)
DOUBLEPRECISION FUNCTION gridInqYval (INTEGER gridID, INTEGER
*8
index)
\end{verbatim}
Get one value of a Y-axis.
...
...
examples/cdi_read_f.f
View file @
78226c31
...
...
@@ -4,7 +4,8 @@
INCLUDE
'cdi.inc'
INTEGER
nlon
,
nlat
,
nlev
,
nts
INTEGER
*
8
nlon
,
nlat
INTEGER
nlev
,
nts
PARAMETER
(
nlon
=
12
)
! Number of longitudes
PARAMETER
(
nlat
=
6
)
! Number of latitudes
PARAMETER
(
nlev
=
5
)
! Number of levels
...
...
examples/cdi_read_f2003.f90
View file @
78226c31
...
...
@@ -4,7 +4,8 @@ PROGRAM CDIREADF2003
IMPLICIT
NONE
INTEGER
::
gsize
,
nlevel
,
nvars
,
code
INTEGER
*
8
::
gsize
INTEGER
::
nlevel
,
nvars
,
code
INTEGER
::
vdate
,
vtime
,
nmiss
,
status
,
ilev
INTEGER
::
streamID
,
varID
,
gridID
,
zaxisID
INTEGER
::
tsID
,
vlistID
,
taxisID
...
...
examples/cdi_write_f.f
View file @
78226c31
...
...
@@ -4,7 +4,8 @@
INCLUDE
'cdi.inc'
INTEGER
nlon
,
nlat
,
nlev
,
nts
INTEGER
*
8
nlon
,
nlat
INTEGER
nlev
,
nts
PARAMETER
(
nlon
=
12
)
! Number of longitudes
PARAMETER
(
nlat
=
6
)
! Number of latitudes
PARAMETER
(
nlev
=
5
)
! Number of levels
...
...
examples/cdi_write_f2003.f90
View file @
78226c31
...
...
@@ -5,7 +5,8 @@
IMPLICIT
NONE
INTEGER
nlon
,
nlat
,
nlev
,
nts
INTEGER
nlev
,
nts
INTEGER
*
8
nlon
,
nlat
PARAMETER
(
nlon
=
12
)
! Number of longitudes
PARAMETER
(
nlat
=
6
)
! Number of latitudes
PARAMETER
(
nlev
=
5
)
! Number of levels
...
...
src/cdi.h
View file @
78226c31
...
...
@@ -745,7 +745,7 @@ int gridInqMask(int gridID, int mask[]);
void
gridPrint
(
int
gridID
,
int
opt
);
/* gridCreate: Create a horizontal Grid */
int
gridCreate
(
int
gridtype
,
in
t
size
);
int
gridCreate
(
int
gridtype
,
size_
t
size
);
/* gridDestroy: Destroy a horizontal Grid */
void
gridDestroy
(
int
gridID
);
...
...
@@ -766,19 +766,19 @@ int gridInqProjType(int gridID);
int
gridInqType
(
int
gridID
);
/* gridInqSize: Get the size of a Grid */
int
gridInqSize
(
int
gridID
);
size_t
gridInqSize
(
int
gridID
);
/* gridDefXsize: Define the size of a X-axis */
void
gridDefXsize
(
int
gridID
,
in
t
xsize
);
void
gridDefXsize
(
int
gridID
,
size_
t
xsize
);
/* gridInqXsize: Get the size of a X-axis */
int
gridInqXsize
(
int
gridID
);
size_t
gridInqXsize
(
int
gridID
);
/* gridDefYsize: Define the size of a Y-axis */
void
gridDefYsize
(
int
gridID
,
in
t
ysize
);
void
gridDefYsize
(
int
gridID
,
size_
t
ysize
);
/* gridInqYsize: Get the size of a Y-axis */
int
gridInqYsize
(
int
gridID
);
size_t
gridInqYsize
(
int
gridID
);
/* gridDefNP: Define the number of parallels between a pole and the equator */
void
gridDefNP
(
int
gridID
,
int
np
);
...
...
@@ -790,25 +790,25 @@ int gridInqNP(int gridID);
void
gridDefXvals
(
int
gridID
,
const
double
xvals
[]);
/* gridInqXvals: Get all values of a X-axis */
int
gridInqXvals
(
int
gridID
,
double
xvals
[]);
size_t
gridInqXvals
(
int
gridID
,
double
xvals
[]);
/* gridInqXIsc: Find out whether X-coordinate is of type CHAR */
int
gridInqXIsc
(
int
gridID
);
/* gridInqXCvals: Get strings from X-axis in case grid is of type GRID_CHARXY */
int
gridInqXCvals
(
int
gridID
,
char
*
xcvals
[]);
size_t
gridInqXCvals
(
int
gridID
,
char
*
xcvals
[]);
/* gridDefYvals: Define the values of a Y-axis */
void
gridDefYvals
(
int
gridID
,
const
double
yvals
[]);
/* gridInqYvals: Get all values of a Y-axis */
int
gridInqYvals
(
int
gridID
,
double
yvals
[]);
size_t
gridInqYvals
(
int
gridID
,
double
yvals
[]);
/* gridInqYIsc: Find out whether Y-coordinate is of type CHAR */
int
gridInqYIsc
(
int
gridID
);
/* gridInqYCvals: Get strings from Y-axis in case grid is of type GRID_CHARXY */
int
gridInqYCvals
(
int
gridID
,
char
*
ycvals
[]);
size_t
gridInqYCvals
(
int
gridID
,
char
*
ycvals
[]);
/* CDI grid string key values */
#define CDI_KEY_XNAME 901 // X-axis name
...
...
@@ -893,10 +893,10 @@ void gridDefPrec(int gridID, int prec);
int
gridInqPrec
(
int
gridID
);
/* gridInqXval: Get one value of a X-axis */
double
gridInqXval
(
int
gridID
,
in
t
index
);
double
gridInqXval
(
int
gridID
,
size_
t
index
);
/* gridInqYval: Get one value of a Y-axis */
double
gridInqYval
(
int
gridID
,
in
t
index
);
double
gridInqYval
(
int
gridID
,
size_
t
index
);
double
gridInqXinc
(
int
gridID
);
double
gridInqYinc
(
int
gridID
);
...
...
src/cdi.inc
View file @
78226c31
...
...
@@ -4,7 +4,7 @@
!
!
Author
:
!
-------
!
Uwe
Schulzweida
,
MPI
-
MET
,
Hamburg
,
Ju
ne
2017
!
Uwe
Schulzweida
,
MPI
-
MET
,
Hamburg
,
Ju
ly
2017
!
INTEGER
CDI_MAX_NAME
...
...
@@ -1517,7 +1517,7 @@
INTEGER
gridCreate
!
(
INTEGER
gridtype
,
!
INTEGER
size
)
!
INTEGER
*
8
size
)
EXTERNAL
gridCreate
!
gridDestroy
...
...
@@ -1551,7 +1551,7 @@
!
gridDefXsize
!
(
INTEGER
gridID
,
!
INTEGER
xsize
)
!
INTEGER
*
8
xsize
)
EXTERNAL
gridDefXsize
INTEGER
gridInqXsize
...
...
@@ -1560,7 +1560,7 @@
!
gridDefYsize
!
(
INTEGER
gridID
,
!
INTEGER
ysize
)
!
INTEGER
*
8
ysize
)
EXTERNAL
gridDefYsize
INTEGER
gridInqYsize
...
...
@@ -1753,12 +1753,12 @@
DOUBLEPRECISION
gridInqXval
!
(
INTEGER
gridID
,
!
INTEGER
index
)
!
INTEGER
*
8
index
)
EXTERNAL
gridInqXval
DOUBLEPRECISION
gridInqYval
!
(
INTEGER
gridID
,
!
INTEGER
index
)
!
INTEGER
*
8
index
)
EXTERNAL
gridInqYval
DOUBLEPRECISION
gridInqXinc
...
...
src/cdiFortran.c
View file @
78226c31
...
...
@@ -322,25 +322,25 @@ FCALLSCFUN2 (INT, gridInqMaskGME, GRIDINQMASKGME, gridinqmaskgme, INT, INTV)
FCALLSCSUB2
(
gridDefMask
,
GRIDDEFMASK
,
griddefmask
,
INT
,
INTV
)
FCALLSCFUN2
(
INT
,
gridInqMask
,
GRIDINQMASK
,
gridinqmask
,
INT
,
INTV
)
FCALLSCSUB2
(
gridPrint
,
GRIDPRINT
,
gridprint
,
INT
,
INT
)
FCALLSCFUN2
(
INT
,
gridCreate
,
GRIDCREATE
,
gridcreate
,
INT
,
INT
)
FCALLSCFUN2
(
INT
,
gridCreate
,
GRIDCREATE
,
gridcreate
,
INT
,
LONG
)
FCALLSCSUB1
(
gridDestroy
,
GRIDDESTROY
,
griddestroy
,
INT
)
FCALLSCFUN1
(
INT
,
gridDuplicate
,
GRIDDUPLICATE
,
gridduplicate
,
INT
)
FCALLSCSUB2
(
gridDefProj
,
GRIDDEFPROJ
,
griddefproj
,
INT
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqProj
,
GRIDINQPROJ
,
gridinqproj
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqProjType
,
GRIDINQPROJTYPE
,
gridinqprojtype
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqType
,
GRIDINQTYPE
,
gridinqtype
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqSize
,
GRIDINQSIZE
,
gridinqsize
,
INT
)
FCALLSCSUB2
(
gridDefXsize
,
GRIDDEFXSIZE
,
griddefxsize
,
INT
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqXsize
,
GRIDINQXSIZE
,
gridinqxsize
,
INT
)
FCALLSCSUB2
(
gridDefYsize
,
GRIDDEFYSIZE
,
griddefysize
,
INT
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqYsize
,
GRIDINQYSIZE
,
gridinqysize
,
INT
)
FCALLSCFUN1
(
LONG
,
gridInqSize
,
GRIDINQSIZE
,
gridinqsize
,
INT
)
FCALLSCSUB2
(
gridDefXsize
,
GRIDDEFXSIZE
,
griddefxsize
,
INT
,
LONG
)
FCALLSCFUN1
(
LONG
,
gridInqXsize
,
GRIDINQXSIZE
,
gridinqxsize
,
INT
)
FCALLSCSUB2
(
gridDefYsize
,
GRIDDEFYSIZE
,
griddefysize
,
INT
,
LONG
)
FCALLSCFUN1
(
LONG
,
gridInqYsize
,
GRIDINQYSIZE
,
gridinqysize
,
INT
)
FCALLSCSUB2
(
gridDefNP
,
GRIDDEFNP
,
griddefnp
,
INT
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqNP
,
GRIDINQNP
,
gridinqnp
,
INT
)
FCALLSCSUB2
(
gridDefXvals
,
GRIDDEFXVALS
,
griddefxvals
,
INT
,
DOUBLEV
)
FCALLSCFUN2
(
INT
,
gridInqXvals
,
GRIDINQXVALS
,
gridinqxvals
,
INT
,
DOUBLEV
)
FCALLSCFUN2
(
LONG
,
gridInqXvals
,
GRIDINQXVALS
,
gridinqxvals
,
INT
,
DOUBLEV
)
FCALLSCFUN1
(
INT
,
gridInqXIsc
,
GRIDINQXISC
,
gridinqxisc
,
INT
)
FCALLSCSUB2
(
gridDefYvals
,
GRIDDEFYVALS
,
griddefyvals
,
INT
,
DOUBLEV
)
FCALLSCFUN2
(
INT
,
gridInqYvals
,
GRIDINQYVALS
,
gridinqyvals
,
INT
,
DOUBLEV
)
FCALLSCFUN2
(
LONG
,
gridInqYvals
,
GRIDINQYVALS
,
gridinqyvals
,
INT
,
DOUBLEV
)
FCALLSCFUN1
(
INT
,
gridInqYIsc
,
GRIDINQYISC
,
gridinqyisc
,
INT
)
/* CDI grid string key values */
...
...
@@ -368,8 +368,8 @@ FCALLSCSUB2 (gridInqXstdname, GRIDINQXSTDNAME, gridinqxstdname, INT, PSTRING)
FCALLSCSUB2
(
gridInqYstdname
,
GRIDINQYSTDNAME
,
gridinqystdname
,
INT
,
PSTRING
)
FCALLSCSUB2
(
gridDefPrec
,
GRIDDEFPREC
,
griddefprec
,
INT
,
INT
)
FCALLSCFUN1
(
INT
,
gridInqPrec
,
GRIDINQPREC
,
gridinqprec
,
INT
)
FCALLSCFUN2
(
DOUBLE
,
gridInqXval
,
GRIDINQXVAL
,
gridinqxval
,
INT
,
INT
)
FCALLSCFUN2
(
DOUBLE
,
gridInqYval
,
GRIDINQYVAL
,
gridinqyval
,
INT
,
INT
)
FCALLSCFUN2
(
DOUBLE
,
gridInqXval
,
GRIDINQXVAL
,
gridinqxval
,
INT
,
LONG
)
FCALLSCFUN2
(
DOUBLE
,
gridInqYval
,
GRIDINQYVAL
,
gridinqyval
,
INT
,
LONG
)
FCALLSCFUN1
(
DOUBLE
,
gridInqXinc
,
GRIDINQXINC
,
gridinqxinc
,
INT
)
FCALLSCFUN1
(
DOUBLE
,
gridInqYinc
,
GRIDINQYINC
,
gridinqyinc
,
INT
)
FCALLSCFUN1
(
INT
,
gridIsCircular
,
GRIDISCIRCULAR
,
gridiscircular
,
INT
)
...
...
src/grid.c
View file @
78226c31
This diff is collapsed.
Click to expand it.
src/grid.h
View file @
78226c31
...
...
@@ -29,11 +29,11 @@ struct gridVirtTable
void
(
*
defArea
)(
grid_t
*
gridptr
,
const
double
*
area
);
double
(
*
inqXVal
)(
grid_t
*
gridptr
,
int
index
);
double
(
*
inqYVal
)(
grid_t
*
gridptr
,
int
index
);
in
t
(
*
inqXVals
)(
grid_t
*
gridptr
,
double
*
xvals
);
in
t
(
*
inqXCvals
)(
grid_t
*
gridptr
,
char
**
xcvals
);
size_
t
(
*
inqXVals
)(
grid_t
*
gridptr
,
double
*
xvals
);
size_
t
(
*
inqXCvals
)(
grid_t
*
gridptr
,
char
**
xcvals
);
int
(
*
inqXIsc
)(
grid_t
*
gridptr
);
in
t
(
*
inqYVals
)(
grid_t
*
gridptr
,
double
*
yvals
);
in
t
(
*
inqYCvals
)(
grid_t
*
gridptr
,
char
**
ycvals
);
size_
t
(
*
inqYVals
)(
grid_t
*
gridptr
,
double
*
yvals
);
size_
t
(
*
inqYCvals
)(
grid_t
*
gridptr
,
char
**
ycvals
);
int
(
*
inqYIsc
)(
grid_t
*
gridptr
);
const
double
*
(
*
inqXValsPtr
)(
grid_t
*
gridptr
);
const
char
**
(
*
inqXCvalsPtr
)(
grid_t
*
gridptr
);
...
...
@@ -61,7 +61,7 @@ struct gridaxis_t {
char
units
[
CDI_MAX_NAME
];
char
dimname
[
CDI_MAX_NAME
];
const
char
*
stdname
;
int
size
;
// number of values
size_t
size
;
// number of values
short
flag
;
// 0: undefined 1:vals 2:first+inc
double
first
,
last
,
inc
;
double
*
vals
;
...
...
@@ -81,7 +81,7 @@ struct grid_t {
char
mapping
[
CDI_MAX_NAME
];
char
*
name
;
int
self
;
int
size
;
size_t
size
;
int
type
;
/* grid type */
int
prec
;
/* grid precision */
int
proj
;
/* grid projection */
...
...
@@ -122,7 +122,7 @@ struct grid_t {
void
grid_init
(
grid_t
*
gridptr
);
void
cdiGridTypeInit
(
grid_t
*
gridptr
,
int
gridtype
,
in
t
size
);
void
cdiGridTypeInit
(
grid_t
*
gridptr
,
int
gridtype
,
size_
t
size
);
void
grid_free
(
grid_t
*
gridptr
);
grid_t
*
grid_to_pointer
(
int
gridID
);
extern
const
struct
gridVirtTable
cdiGridVtable
;
...
...
src/make_fint.c
View file @
78226c31
...
...
@@ -86,7 +86,7 @@ static void doctotxt(FILE *fp, Docu *doc, size_t ndoc)
}
}
enum
cftype
{
ISVOID
,
ISCONSTSTRING
,
ISINT
,
ISREAL
,
ISDOUBLE
,
ISMPI_COMM
,
enum
cftype
{
ISVOID
,
ISCONSTSTRING
,
ISINT
,
ISREAL
,
ISDOUBLE
,
ISSIZE_T
,
ISMPI_COMM
,
ISXT_IDXLIST
,
ISCHOICE
,
ISINTP
,
ISFLOATV
,
ISFLOATVV
,
ISDOUBLEV
,
ISDOUBLEVV
,
ISINTV
,
ISINTVV
,
ISINTVVV
,
ISREALP
,
ISDOUBLEP
,
ISCBUF
,
ISUUID
,
ISUCHAR
,
ISSTRING
,
ISSTRINGP
,
...
...
@@ -156,6 +156,8 @@ static struct symbol funArgSym[]
"^"
WS
"*(const"
WS
"+)?float"
WS
"+"
SYMRE
"?"
WS
"*[,
\\
)]"
,
2
,
0
,
0
},
{
"DOUBLEPRECISION"
,
"DOUBLE"
,
"%sdouble %.*s"
,
"^"
WS
"*(const"
WS
"+)?double"
WS
"+"
SYMRE
"?"
WS
"*[,
\\
)]"
,
2
,
0
,
0
},
{
"INTEGER*8"
,
"LONG"
,
"%ssize_t %.*s"
,
"^"
WS
"*(const"
WS
"+)?size_t("
WS
"+"
SYMRE
")?"
WS
"*[,
\\
)]"
,
3
,
0
,
0
},
{
"INTEGER"
,
"INT"
,
"%sMPI_Comm %.*s"
,
"^"
WS
"*MPI_Comm"
WS
"+"
SYMRE
"?"
WS
"*[,
\\
)]"
,
1
,
1
,
0
,
cfMPICommConvert
,
"%sint %.*s"
},
...
...
@@ -221,6 +223,8 @@ static struct symbol funRet[] = {
"(const"
WS
"+)?double"
WS
"+"
SYMRE
WS
"*
\\
("
,
2
,
0
,
0
},
{
"INTEGER"
,
"INT"
,
"%sMPI_Comm %.*s"
,
"MPI_Comm"
WS
"+"
SYMRE
WS
"*
\\
("
,
1
,
0
,
0
,
cfMPICommConvert
,
"%sint %.*s"
},
{
"INTEGER*8"
,
"LONG"
,
"%ssize_t %.*s"
,
"(const"
WS
"+)?size_t"
WS
"+"
SYMRE
WS
"*
\\
("
,
2
,
0
,
0
},
};
#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 5)
#pragma GCC diagnostic pop
...
...
src/mo_cdi.f90
View file @
78226c31
...
...
@@ -35,10 +35,13 @@ module mo_cdi
integer
(
c_int
),
public
,
parameter
::
CDI_EEOF
=
-1
integer
(
c_int
),
public
,
parameter
::
CDI_ESYSTEM
=
-10
integer
(
c_int
),
public
,
parameter
::
CDI_EINVAL
=
-20
integer
(
c_int
),
public
,
parameter
::
CDI_EUFTYPE
=
-21
integer
(
c_int
),
public
,
parameter
::
CDI_ELIBNAVAIL
=
-22
integer
(
c_int
),
public
,
parameter
::
CDI_EUFSTRUCT
=
-23
integer
(
c_int
),
public
,
parameter
::
CDI_EUNC4
=
-24
integer
(
c_int
),
public
,
parameter
::
CDI_EISDIR
=
-21
integer
(
c_int
),
public
,
parameter
::
CDI_EISEMPTY
=
-22
integer
(
c_int
),
public
,
parameter
::
CDI_EUFTYPE
=
-23
integer
(
c_int
),
public
,
parameter
::
CDI_ELIBNAVAIL
=
-24
integer
(
c_int
),
public
,
parameter
::
CDI_EUFSTRUCT
=
-25
integer
(
c_int
),
public
,
parameter
::
CDI_EUNC4
=
-26
integer
(
c_int
),
public
,
parameter
::
CDI_EDIMSIZE
=
-27
integer
(
c_int
),
public
,
parameter
::
CDI_ELIMIT
=
-99
integer
(
c_int
),
public
,
parameter
::
CDI_FILETYPE_GRB
=
1
integer
(
c_int
),
public
,
parameter
::
CDI_FILETYPE_GRB2
=
2
...
...
@@ -141,6 +144,7 @@ module mo_cdi
integer
(
c_int
),
public
,
parameter
::
GRID_CURVILINEAR
=
10
integer
(
c_int
),
public
,
parameter
::
GRID_LCC
=
11
integer
(
c_int
),
public
,
parameter
::
GRID_PROJECTION
=
12
integer
(
c_int
),
public
,
parameter
::
GRID_CHARXY
=
13
integer
(
c_int
),
public
,
parameter
::
CDI_PROJ_RLL
=
21
integer
(
c_int
),
public
,
parameter
::
CDI_PROJ_LCC
=
22
integer
(
c_int
),
public
,
parameter
::
CDI_PROJ_LAEA
=
23
...
...
@@ -171,6 +175,7 @@ module mo_cdi
integer
(
c_int
),
public
,
parameter
::
ZAXIS_SEDIMENT_BOTTOM_TW
=
23
integer
(
c_int
),
public
,
parameter
::
ZAXIS_MIX_LAYER
=
24
integer
(
c_int
),
public
,
parameter
::
ZAXIS_REFERENCE
=
25
integer
(
c_int
),
public
,
parameter
::
ZAXIS_CHAR
=
26
integer
(
c_int
),
public
,
parameter
::
MAX_KV_PAIRS_MATCH
=
10
integer
(
c_int
),
public
,
parameter
::
TIME_CONSTANT
=
0
integer
(
c_int
),
public
,
parameter
::
TIME_VARIABLE
=
1
...
...
@@ -468,8 +473,10 @@ module mo_cdi
public
::
gridInqNP
public
::
gridDefXvals
public
::
gridInqXvals
public
::
gridInqXIsc
public
::
gridDefYvals
public
::
gridInqYvals
public
::
gridInqYIsc
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_XNAME
=
901
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_XDIMNAME
=
902
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_XLONGNAME
=
903
...
...
@@ -557,6 +564,7 @@ module mo_cdi
public
::
zaxisPrint
public
::
zaxisDefLevels
public
::
zaxisInqLevels
public
::
zaxisInqCLen
public
::
zaxisDefLevel
public
::
zaxisInqLevel
public
::
zaxisDefNlevRef
...
...
@@ -642,7 +650,6 @@ module mo_cdi
public
::
modelInqInstitut
public
::
modelInqGribID
public
::
modelInqNamePtr
public
::
tableWriteC
public
::
tableWrite
public
::
tableRead
public
::
tableDef
...
...
@@ -1815,9 +1822,9 @@ module mo_cdi
function
gridCreate
(
gridtype_dummy
,
size_dummy
)
bind
(
c
,
name
=
&
&
'gridCreate'
)
result
(
f_result
)
import
c_int
import
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridtype_dummy
integer
(
c_
in
t
),
value
::
size_dummy
integer
(
c_
size_
t
),
value
::
size_dummy
integer
(
c_int
)
::
f_result
end
function
gridCreate
...
...
@@ -1863,37 +1870,37 @@ module mo_cdi
function
gridInqSize
(
gridID_dummy
)
bind
(
c
,
name
=
'gridInqSize'
)&
&
result
(
f_result
)
import
c_int
import
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
)
::
f_result
integer
(
c_
size_
t
)
::
f_result
end
function
gridInqSize
subroutine
gridDefXsize
(
gridID_dummy
,
xsize_dummy
)
bind
(
c
,
name
=
&
&
'gridDefXsize'
)
import
c_int
import
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
),
value
::
xsize_dummy
integer
(
c_
size_
t
),
value
::
xsize_dummy
end
subroutine
gridDefXsize
function
gridInqXsize
(
gridID_dummy
)
bind
(
c
,
name
=
'gridInqXsize'
)&
&
result
(
f_result
)
import
c_int
import
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
)
::
f_result
integer
(
c_
size_
t
)
::
f_result
end
function
gridInqXsize
subroutine
gridDefYsize
(
gridID_dummy
,
ysize_dummy
)
bind
(
c
,
name
=
&
&
'gridDefYsize'
)
import
c_int
import
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
),
value
::
ysize_dummy
integer
(
c_
size_
t
),
value
::
ysize_dummy
end
subroutine
gridDefYsize
function
gridInqYsize
(
gridID_dummy
)
bind
(
c
,
name
=
'gridInqYsize'
)&
&
result
(
f_result
)
import
c_int
import
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
)
::
f_result
integer
(
c_
size_
t
)
::
f_result
end
function
gridInqYsize
subroutine
gridDefNP
(
gridID_dummy
,
np_dummy
)
bind
(
c
,
name
=
'gridDefNP'
)
...
...
@@ -1918,12 +1925,19 @@ module mo_cdi
function
gridInqXvals
(
gridID_dummy
,
xvals_dummy
)
bind
(
c
,
name
=
&
&
'gridInqXvals'
)
result
(
f_result
)
import
c_double
,
c_int
import
c_double
,
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
real
(
c_double
),
intent
(
inout
)
::
xvals_dummy
(
*
)
integer
(
c_
in
t
)
::
f_result
integer
(
c_
size_
t
)
::
f_result
end
function
gridInqXvals
function
gridInqXIsc
(
gridID_dummy
)
bind
(
c
,
name
=
'gridInqXIsc'
)&
&
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_int
)
::
f_result
end
function
gridInqXIsc
subroutine
gridDefYvals
(
gridID_dummy
,
yvals_dummy
)
bind
(
c
,
name
=
&
&
'gridDefYvals'
)
import
c_double
,
c_int
...
...
@@ -1933,12 +1947,19 @@ module mo_cdi
function
gridInqYvals
(
gridID_dummy
,
yvals_dummy
)
bind
(
c
,
name
=
&
&
'gridInqYvals'
)
result
(
f_result
)
import
c_double
,
c_int
import
c_double
,
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
real
(
c_double
),
intent
(
inout
)
::
yvals_dummy
(
*
)
integer
(
c_
in
t
)
::
f_result
integer
(
c_
size_
t
)
::
f_result
end
function
gridInqYvals
function
gridInqYIsc
(
gridID_dummy
)
bind
(
c
,
name
=
'gridInqYIsc'
)&
&
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_int
)
::
f_result
end
function
gridInqYIsc
function
cdiZaxisDefKeyFlt
(
zaxisID_dummy
,
key_dummy
,
value_dummy
)
bind
(
c
,&
&
name
=
'cdiZaxisDefKeyFlt'
)
result
(
f_result
)
import
c_double
,
c_int
...
...
@@ -1973,17 +1994,17 @@ module mo_cdi
function
gridInqXval
(
gridID_dummy
,
index_dummy
)
bind
(
c
,
name
=
&
&
'gridInqXval'
)
result
(
f_result
)
import
c_double
,
c_int
import
c_double
,
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
),
value
::
index_dummy
integer
(
c_
size_
t
),
value
::
index_dummy
real
(
c_double
)
::
f_result
end
function
gridInqXval
function
gridInqYval
(
gridID_dummy
,
index_dummy
)
bind
(
c
,
name
=
&
&
'gridInqYval'
)
result
(
f_result
)
import
c_double
,
c_int
import
c_double
,
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_
in
t
),
value
::
index_dummy
integer
(
c_
size_
t
),
value
::
index_dummy
real
(
c_double
)
::
f_result
end
function
gridInqYval
...
...
@@ -2323,6 +2344,13 @@ module mo_cdi
integer
(
c_int
)
::
f_result
end
function
zaxisInqLevels
function
zaxisInqCLen
(
zaxisID_dummy
)
bind
(
c
,
name
=
'zaxisInqCLen'
)&
&
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
)
::
f_result
end
function
zaxisInqCLen