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
bbec24d0
Commit
bbec24d0
authored
Jan 05, 2018
by
Uwe Schulzweida
Browse files
Replace vlistDefVarTypeOfGeneratingProcess() by cdiDefKeyInt().
parent
4a333b09
Changes
10
Hide whitespace changes
Inline
Side-by-side
src/cdi.h
View file @
bbec24d0
...
...
@@ -665,9 +665,6 @@ int vlistInqVarTimave(int vlistID, int varID);
void
vlistDefVarTimaccu
(
int
vlistID
,
int
varID
,
int
timaccu
);
int
vlistInqVarTimaccu
(
int
vlistID
,
int
varID
);
void
vlistDefVarTypeOfGeneratingProcess
(
int
vlistID
,
int
varID
,
int
typeOfGeneratingProcess
);
int
vlistInqVarTypeOfGeneratingProcess
(
int
vlistID
,
int
varID
);
void
vlistDefVarProductDefinitionTemplate
(
int
vlistID
,
int
varID
,
int
productDefinitionTemplate
);
int
vlistInqVarProductDefinitionTemplate
(
int
vlistID
,
int
varID
);
...
...
@@ -810,8 +807,9 @@ int gridInqYIsc(int gridID);
size_t
gridInqYCvals
(
int
gridID
,
char
*
ycvals
[]);
// CDI var key values
#define CDI_KEY_TABLESVERSION 801 // GRIB2 tablesVersion
#define CDI_KEY_LOCALTABLESVERSION 802 // GRIB2 localTablesVersion
#define CDI_KEY_TABLESVERSION 801 // GRIB2 tablesVersion
#define CDI_KEY_LOCALTABLESVERSION 802 // GRIB2 localTablesVersion
#define CDI_KEY_TYPEOFGENERATINGPROCESS 803 // GRIB2 typeOfGeneratingProcess
// cdiDefKeyInt: Define a CDI varianble integer value from a key
int
cdiDefKeyInt
(
int
cdiID
,
int
varID
,
int
key
,
int
value
);
...
...
src/cdi.inc
View file @
bbec24d0
!
This
file
was
automatically
generated
,
don
'
t
edit
!
!
!
Fortran
interface
for
CDI
library
version
1.9.
2
!
Fortran
interface
for
CDI
library
version
1.9.
3
!
!
Author
:
!
-------
!
Uwe
Schulzweida
,
MPI
-
MET
,
Hamburg
,
November
201
7
!
Uwe
Schulzweida
,
MPI
-
MET
,
Hamburg
,
January
201
8
!
INTEGER
CDI_MAX_NAME
...
...
@@ -1259,17 +1259,6 @@
!
INTEGER
varID
)
EXTERNAL
vlistInqVarTimaccu
!
vlistDefVarTypeOfGeneratingProcess
!
(
INTEGER
vlistID
,
!
INTEGER
varID
,
!
INTEGER
typeOfGeneratingProcess
)
EXTERNAL
vlistDefVarTypeOfGeneratingProcess
INTEGER
vlistInqVarTypeOfGeneratingProcess
!
(
INTEGER
vlistID
,
!
INTEGER
varID
)
EXTERNAL
vlistInqVarTypeOfGeneratingProcess
!
vlistDefVarProductDefinitionTemplate
!
(
INTEGER
vlistID
,
!
INTEGER
varID
,
...
...
@@ -1603,9 +1592,26 @@
!
(
INTEGER
gridID
)
EXTERNAL
gridInqYIsc
!
!
CDI
grid
string
key
values
!
INTEGER
CDI_KEY_TABLESVERSION
PARAMETER
(
CDI_KEY_TABLESVERSION
=
801
)
INTEGER
CDI_KEY_LOCALTABLESVERSION
PARAMETER
(
CDI_KEY_LOCALTABLESVERSION
=
802
)
INTEGER
CDI_KEY_TYPEOFGENERATINGPROCESS
PARAMETER
(
CDI_KEY_TYPEOFGENERATINGPROCESS
=
803
)
INTEGER
cdiDefKeyInt
!
(
INTEGER
cdiID
,
!
INTEGER
varID
,
!
INTEGER
key
,
!
INTEGER
value
)
EXTERNAL
cdiDefKeyInt
INTEGER
cdiInqKeyInt
!
(
INTEGER
cdiID
,
!
INTEGER
varID
,
!
INTEGER
key
,
!
INTEGER
value
)
EXTERNAL
cdiInqKeyInt
INTEGER
CDI_KEY_XNAME
PARAMETER
(
CDI_KEY_XNAME
=
901
)
INTEGER
CDI_KEY_XDIMNAME
...
...
@@ -1628,9 +1634,6 @@
PARAMETER
(
CDI_KEY_MAPPING
=
921
)
INTEGER
CDI_KEY_MAPNAME
PARAMETER
(
CDI_KEY_MAPNAME
=
922
)
!
!
CDI
zaxis
string
key
values
!
INTEGER
CDI_KEY_NAME
PARAMETER
(
CDI_KEY_NAME
=
941
)
INTEGER
CDI_KEY_DIMNAME
...
...
@@ -1659,6 +1662,20 @@
!
CHARACTER
*
(
*
)
mesg
)
EXTERNAL
cdiGridInqKeyStr
INTEGER
cdiZaxisDefKeyStr
!
(
INTEGER
zaxisID
,
!
INTEGER
key
,
!
INTEGER
size
,
!
CHARACTER
*
(
*
)
mesg
)
EXTERNAL
cdiZaxisDefKeyStr
INTEGER
cdiZaxisInqKeyStr
!
(
INTEGER
zaxisID
,
!
INTEGER
key
,
!
INTEGER
size
,
!
CHARACTER
*
(
*
)
mesg
)
EXTERNAL
cdiZaxisInqKeyStr
INTEGER
cdiZaxisDefKeyFlt
!
(
INTEGER
zaxisID
,
!
INTEGER
key
,
...
...
@@ -2067,20 +2084,6 @@
!
INTEGER
*
1
(
16
)
uuid
)
EXTERNAL
zaxisInqUUID
INTEGER
cdiZaxisDefKeyStr
!
(
INTEGER
zaxisID
,
!
INTEGER
key
,
!
INTEGER
size
,
!
CHARACTER
*
(
*
)
mesg
)
EXTERNAL
cdiZaxisDefKeyStr
INTEGER
cdiZaxisInqKeyStr
!
(
INTEGER
zaxisID
,
!
INTEGER
key
,
!
INTEGER
size
,
!
CHARACTER
*
(
*
)
mesg
)
EXTERNAL
cdiZaxisInqKeyStr
!
zaxisDefName
!
(
INTEGER
zaxisID
,
!
CHARACTER
*
(
*
)
name_optional
)
...
...
src/cdiFortran.c
View file @
bbec24d0
...
...
@@ -362,8 +362,6 @@ FCALLSCSUB3 (vlistDefVarTimave, VLISTDEFVARTIMAVE, vlistdefvartimave, INT, INT,
FCALLSCFUN2
(
INT
,
vlistInqVarTimave
,
VLISTINQVARTIMAVE
,
vlistinqvartimave
,
INT
,
INT
)
FCALLSCSUB3
(
vlistDefVarTimaccu
,
VLISTDEFVARTIMACCU
,
vlistdefvartimaccu
,
INT
,
INT
,
INT
)
FCALLSCFUN2
(
INT
,
vlistInqVarTimaccu
,
VLISTINQVARTIMACCU
,
vlistinqvartimaccu
,
INT
,
INT
)
FCALLSCSUB3
(
vlistDefVarTypeOfGeneratingProcess
,
VLISTDEFVARTYPEOFGENERATINGPROCESS
,
vlistdefvartypeofgeneratingprocess
,
INT
,
INT
,
INT
)
FCALLSCFUN2
(
INT
,
vlistInqVarTypeOfGeneratingProcess
,
VLISTINQVARTYPEOFGENERATINGPROCESS
,
vlistinqvartypeofgeneratingprocess
,
INT
,
INT
)
FCALLSCSUB3
(
vlistDefVarProductDefinitionTemplate
,
VLISTDEFVARPRODUCTDEFINITIONTEMPLATE
,
vlistdefvarproductdefinitiontemplate
,
INT
,
INT
,
INT
)
FCALLSCFUN2
(
INT
,
vlistInqVarProductDefinitionTemplate
,
VLISTINQVARPRODUCTDEFINITIONTEMPLATE
,
vlistinqvarproductdefinitiontemplate
,
INT
,
INT
)
static
int
vlistInqVarSize_fwrap
(
int
vlistID
,
int
varID
)
...
...
@@ -481,14 +479,12 @@ static int gridInqYvals_fwrap(int gridID, double yvals[])
}
FCALLSCFUN2
(
INT
,
gridInqYvals_fwrap
,
GRIDINQYVALS
,
gridinqyvals
,
INT
,
DOUBLEV
)
FCALLSCFUN1
(
INT
,
gridInqYIsc
,
GRIDINQYISC
,
gridinqyisc
,
INT
)
/* CDI grid string key values */
/* CDI zaxis string key values */
FCALLSCFUN4
(
INT
,
cdiDefKeyInt
,
CDIDEFKEYINT
,
cdidefkeyint
,
INT
,
INT
,
INT
,
INT
)
FCALLSCFUN4
(
INT
,
cdiInqKeyInt
,
CDIINQKEYINT
,
cdiinqkeyint
,
INT
,
INT
,
INT
,
PINT
)
FCALLSCFUN4
(
INT
,
cdiGridDefKeyStr
,
CDIGRIDDEFKEYSTR
,
cdigriddefkeystr
,
INT
,
INT
,
INT
,
STRING
)
FCALLSCFUN4
(
INT
,
cdiGridInqKeyStr
,
CDIGRIDINQKEYSTR
,
cdigridinqkeystr
,
INT
,
INT
,
INT
,
PSTRING
)
FCALLSCFUN4
(
INT
,
cdiZaxisDefKeyStr
,
CDIZAXISDEFKEYSTR
,
cdizaxisdefkeystr
,
INT
,
INT
,
INT
,
STRING
)
FCALLSCFUN4
(
INT
,
cdiZaxisInqKeyStr
,
CDIZAXISINQKEYSTR
,
cdizaxisinqkeystr
,
INT
,
INT
,
INT
,
PSTRING
)
FCALLSCFUN3
(
INT
,
cdiZaxisDefKeyFlt
,
CDIZAXISDEFKEYFLT
,
cdizaxisdefkeyflt
,
INT
,
INT
,
DOUBLE
)
FCALLSCFUN3
(
INT
,
cdiZaxisInqKeyFlt
,
CDIZAXISINQKEYFLT
,
cdizaxisinqkeyflt
,
INT
,
INT
,
PDOUBLE
)
FCALLSCSUB2
(
gridDefXname
,
GRIDDEFXNAME
,
griddefxname
,
INT
,
STRING
)
...
...
@@ -604,8 +600,6 @@ FCALLSCSUB2 (zaxisDefNumber, ZAXISDEFNUMBER, zaxisdefnumber, INT, INT)
FCALLSCFUN1
(
INT
,
zaxisInqNumber
,
ZAXISINQNUMBER
,
zaxisinqnumber
,
INT
)
FCALLSCSUB2
(
zaxisDefUUID
,
ZAXISDEFUUID
,
zaxisdefuuid
,
INT
,
PVOID
)
FCALLSCSUB2
(
zaxisInqUUID
,
ZAXISINQUUID
,
zaxisinquuid
,
INT
,
PVOID
)
FCALLSCFUN4
(
INT
,
cdiZaxisDefKeyStr
,
CDIZAXISDEFKEYSTR
,
cdizaxisdefkeystr
,
INT
,
INT
,
INT
,
STRING
)
FCALLSCFUN4
(
INT
,
cdiZaxisInqKeyStr
,
CDIZAXISINQKEYSTR
,
cdizaxisinqkeystr
,
INT
,
INT
,
INT
,
PSTRING
)
FCALLSCSUB2
(
zaxisDefName
,
ZAXISDEFNAME
,
zaxisdefname
,
INT
,
STRING
)
FCALLSCSUB2
(
zaxisInqName
,
ZAXISINQNAME
,
zaxisinqname
,
INT
,
PSTRING
)
FCALLSCSUB2
(
zaxisDefLongname
,
ZAXISDEFLONGNAME
,
zaxisdeflongname
,
INT
,
STRING
)
...
...
src/grid.h
View file @
bbec24d0
#ifndef
_
GRID_H
#define
_
GRID_H
#ifndef
GRID_H
#define
GRID_H
#include
"cdi.h"
#include
<stdbool.h>
...
...
src/make_fint.c
View file @
bbec24d0
...
...
@@ -15,7 +15,7 @@
#endif
//#include "config.h"
#define VERSION "1.9.
2
"
#define VERSION "1.9.
3
"
typedef
struct
{
size_t
naline
;
...
...
src/stream_gribapi.c
View file @
bbec24d0
...
...
@@ -2,7 +2,7 @@
#include
"config.h"
#endif
#ifdef HAVE_LIBGRIB_API
#ifdef
HAVE_LIBGRIB_API
#include
"dmemory.h"
#include
"cdi.h"
#include
"cdi_int.h"
...
...
@@ -584,7 +584,7 @@ void gribapiAddRecord(stream_t *streamptr, int param, grib_handle *gh,
long
typeOfGeneratingProcess
=
0
;
if
(
grib_get_long
(
gh
,
"typeOfGeneratingProcess"
,
&
typeOfGeneratingProcess
)
==
0
)
varDef
TypeOfGeneratingProcess
(
varID
,
(
int
)
typeOfGeneratingProcess
);
varDef
KeyInt
(
varID
,
CDI_KEY_TYPEOFGENERATINGPROCESS
,
(
int
)
typeOfGeneratingProcess
);
long
productDefinitionTemplate
=
0
;
if
(
grib_get_long
(
gh
,
"productDefinitionTemplateNumber"
,
&
productDefinitionTemplate
)
==
0
)
...
...
@@ -2999,7 +2999,8 @@ size_t gribapiEncode(int varID, int levelID, int vlistID, int gridID, int zaxisI
int
param
=
vlistInqVarParam
(
vlistID
,
varID
);
int
datatype
=
vlistInqVarDatatype
(
vlistID
,
varID
);
int
typeOfGeneratingProcess
=
vlistInqVarTypeOfGeneratingProcess
(
vlistID
,
varID
);
int
typeOfGeneratingProcess
=
0
;
cdiInqKeyInt
(
vlistID
,
varID
,
CDI_KEY_TYPEOFGENERATINGPROCESS
,
&
typeOfGeneratingProcess
);
int
productDefinitionTemplate
=
vlistInqVarProductDefinitionTemplate
(
vlistID
,
varID
);
char
name
[
256
];
...
...
@@ -3019,7 +3020,6 @@ size_t gribapiEncode(int varID, int levelID, int vlistID, int gridID, int zaxisI
if
(
editionNumber
==
2
)
{
if
(
typeOfGeneratingProcess
==
-
1
)
typeOfGeneratingProcess
=
0
;
if
(
!
gc
->
init
)
{
GRIB_CHECK
(
my_grib_set_long
(
gh
,
"typeOfGeneratingProcess"
,
typeOfGeneratingProcess
),
0
);
...
...
src/varscan.c
View file @
bbec24d0
...
...
@@ -76,7 +76,6 @@ typedef struct
char
*
longname
;
char
*
units
;
ensinfo_t
*
ensdata
;
int
typeOfGeneratingProcess
;
int
productDefinitionTemplate
;
/* meta-data for specification of tiles (currently only GRIB-API: */
...
...
@@ -123,7 +122,6 @@ void paramInitEntry(unsigned varID, int param)
vartable
[
varID
].
instID
=
CDI_UNDEFID
;
vartable
[
varID
].
modelID
=
CDI_UNDEFID
;
vartable
[
varID
].
tableID
=
CDI_UNDEFID
;
vartable
[
varID
].
typeOfGeneratingProcess
=
CDI_UNDEFID
;
vartable
[
varID
].
productDefinitionTemplate
=
CDI_UNDEFID
;
vartable
[
varID
].
nikeys
=
0
;
for
(
int
i
=
0
;
i
<
MAX_KEYS
;
++
i
)
vartable
[
varID
].
ikeyvalues
[
i
].
value
=
0
;
...
...
@@ -783,9 +781,6 @@ void cdi_generate_vars(stream_t *streamptr)
vlistDefVarTimaccu
(
vlistID
,
varID
,
timaccu
);
vlistDefVarCompType
(
vlistID
,
varID
,
comptype
);
if
(
vartable
[
varid
].
typeOfGeneratingProcess
!=
CDI_UNDEFID
)
vlistDefVarTypeOfGeneratingProcess
(
vlistID
,
varID
,
vartable
[
varid
].
typeOfGeneratingProcess
);
varCopyKeys
(
vlistID
,
varID
);
if
(
vartable
[
varid
].
lmissval
)
vlistDefVarMissval
(
vlistID
,
varID
,
vartable
[
varid
].
missval
);
...
...
@@ -1118,12 +1113,6 @@ void varDefEnsembleInfo(int varID, int ens_idx, int ens_count, int forecast_type
}
void
varDefTypeOfGeneratingProcess
(
int
varID
,
int
typeOfGeneratingProcess
)
{
vartable
[
varID
].
typeOfGeneratingProcess
=
typeOfGeneratingProcess
;
}
void
varDefProductDefinitionTemplate
(
int
varID
,
int
productDefinitionTemplate
)
{
vartable
[
varID
].
productDefinitionTemplate
=
productDefinitionTemplate
;
...
...
src/varscan.h
View file @
bbec24d0
#ifndef
_
VARSCAN_H
#define
_
VARSCAN_H
#ifndef
VARSCAN_H
#define
VARSCAN_H
#ifndef
_
GRID_H
#
include "grid.h"
#ifndef
GRID_H
#include
"grid.h"
#endif
...
...
@@ -30,7 +30,6 @@ void varDefTable(int varID, int tableID);
int
varInqTable
(
int
varID
);
void
varDefEnsembleInfo
(
int
varID
,
int
ens_idx
,
int
ens_count
,
int
forecast_type
);
void
varDefTypeOfGeneratingProcess
(
int
varID
,
int
typeOfGeneratingProcess
);
void
varDefProductDefinitionTemplate
(
int
varID
,
int
productDefinitionTemplate
);
void
varDefKeyInt
(
int
varID
,
int
key
,
int
value
);
...
...
src/vlist.h
View file @
bbec24d0
...
...
@@ -63,7 +63,6 @@ typedef struct
int
tableID
;
int
timave
;
int
timaccu
;
int
typeOfGeneratingProcess
;
int
productDefinitionTemplate
;
int
chunktype
;
int
xyz
;
...
...
src/vlist_var.c
View file @
bbec24d0
...
...
@@ -34,7 +34,6 @@ void vlistvarInitEntry(int vlistID, int varID)
vlistptr
->
vars
[
varID
].
tsteptype
=
TSTEP_INSTANT
;
vlistptr
->
vars
[
varID
].
timave
=
0
;
vlistptr
->
vars
[
varID
].
timaccu
=
0
;
vlistptr
->
vars
[
varID
].
typeOfGeneratingProcess
=
0
;
vlistptr
->
vars
[
varID
].
productDefinitionTemplate
=
-
1
;
vlistptr
->
vars
[
varID
].
chunktype
=
cdiChunkType
;
vlistptr
->
vars
[
varID
].
xyz
=
321
;
...
...
@@ -1283,28 +1282,9 @@ int vlistInqVarTimaccu(int vlistID, int varID)
}
void
vlistDefVarTypeOfGeneratingProcess
(
int
vlistID
,
int
varID
,
int
typeOfGeneratingProcess
)
{
vlist_t
*
vlistptr
=
vlist_to_pointer
(
vlistID
);
if
(
vlistptr
->
vars
[
varID
].
typeOfGeneratingProcess
!=
typeOfGeneratingProcess
)
{
vlistptr
->
vars
[
varID
].
typeOfGeneratingProcess
=
typeOfGeneratingProcess
;
reshSetStatus
(
vlistID
,
&
vlistOps
,
RESH_DESYNC_IN_USE
);
}
}
int
vlistInqVarTypeOfGeneratingProcess
(
int
vlistID
,
int
varID
)
{
vlist_t
*
vlistptr
=
vlist_to_pointer
(
vlistID
);
return
vlistptr
->
vars
[
varID
].
typeOfGeneratingProcess
;
}
void
vlistDefVarProductDefinitionTemplate
(
int
vlistID
,
int
varID
,
int
productDefinitionTemplate
)
{
vlist_t
*
vlistptr
=
vlist_to_pointer
(
vlistID
);
if
(
vlistptr
->
vars
[
varID
].
productDefinitionTemplate
!=
productDefinitionTemplate
)
{
vlistptr
->
vars
[
varID
].
productDefinitionTemplate
=
productDefinitionTemplate
;
...
...
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