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
65a5b956
Commit
65a5b956
authored
Jan 25, 2018
by
Thomas Jahns
🤸
Browse files
Update generated files.
parent
270f330a
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/cdipio.inc
View file @
65a5b956
!
This
file
was
automatically
generated
,
don
'
t
edit
!
!
!
Fortran
interface
for
CDI
library
version
1.
8.1
!
Fortran
interface
for
CDI
library
version
1.
9.3
!
!
Author
:
!
-------
!
Uwe
Schulzweida
,
MPI
-
MET
,
Hamburg
,
April
201
7
!
Uwe
Schulzweida
,
MPI
-
MET
,
Hamburg
,
January
201
8
!
!
...
...
src/cdipioFortran.c
View file @
65a5b956
...
...
@@ -10,6 +10,9 @@
#if defined (HAVE_CF_INTERFACE)
#include
<limits.h>
#include
<assert.h>
#if ! defined (__CFORTRAN_LOADED)
# if defined __clang__
# pragma GCC diagnostic push
...
...
@@ -26,6 +29,13 @@
# pragma GCC diagnostic ignored "-Wmissing-prototypes"
#endif
static
int
size_t_c2f
(
size_t
value_size_t
)
{
assert
(
value_size_t
<
INT_MAX
);
return
(
int
)
value_size_t
;
}
/* parallel IO IOMode */
...
...
@@ -55,14 +65,14 @@ static int cdiPioInit_fwrap(int commSuper, int confResH, int *pioNamespace)
FCALLSCFUN3
(
INT
,
cdiPioInit_fwrap
,
CDIPIOINIT
,
cdipioinit
,
INT
,
INT
,
PINT
)
FCALLSCSUB0
(
pioWriteTimestep
,
PIOWRITETIMESTEP
,
piowritetimestep
)
FCALLSCSUB0
(
cdiPioRDMAProgress
,
CDIPIORDMAPROGRESS
,
cdipiordmaprogress
)
static
void
streamWriteVarPart_fwrap
(
int
streamID
,
int
varID
,
const
void
*
data
,
size_
t
nmiss
,
void
*
partDesc
)
static
void
streamWriteVarPart_fwrap
(
int
streamID
,
int
varID
,
const
void
*
data
,
in
t
nmiss
,
void
*
partDesc
)
{
streamWriteVarPart
(
streamID
,
varID
,
data
,
nmiss
,
(
*
(
Xt_idxlist
*
)
partDesc
));
streamWriteVarPart
(
streamID
,
varID
,
data
,
(
size_t
)
nmiss
,
(
*
(
Xt_idxlist
*
)
partDesc
));
}
FCALLSCSUB5
(
streamWriteVarPart_fwrap
,
STREAMWRITEVARPART
,
streamwritevarpart
,
INT
,
INT
,
PVOID
,
INT
,
PVOID
)
static
void
streamWriteScatteredVarPart_fwrap
(
int
streamID
,
int
varID
,
const
void
*
data
,
int
numBlocks
,
const
int
blocklengths
[],
const
int
displacements
[],
size_
t
nmiss
,
void
*
partDesc
)
static
void
streamWriteScatteredVarPart_fwrap
(
int
streamID
,
int
varID
,
const
void
*
data
,
int
numBlocks
,
const
int
blocklengths
[],
const
int
displacements
[],
in
t
nmiss
,
void
*
partDesc
)
{
streamWriteScatteredVarPart
(
streamID
,
varID
,
data
,
numBlocks
,
blocklengths
,
displacements
,
nmiss
,
(
*
(
Xt_idxlist
*
)
partDesc
));
streamWriteScatteredVarPart
(
streamID
,
varID
,
data
,
numBlocks
,
blocklengths
,
displacements
,
(
size_t
)
nmiss
,
(
*
(
Xt_idxlist
*
)
partDesc
));
}
FCALLSCSUB8
(
streamWriteScatteredVarPart_fwrap
,
STREAMWRITESCATTEREDVARPART
,
streamwritescatteredvarpart
,
INT
,
INT
,
PVOID
,
INT
,
INTV
,
INTV
,
INT
,
PVOID
)
static
int
cdiPioCSRLastN_fwrap
(
int
commSuper
,
int
IOMode
,
int
nProcsIO
)
...
...
src/mo_cdi.f90
View file @
65a5b956
! >>> Warning: This is a generated file. If you modify it, you get what you deserve. <<<
!
! Generated by "../interfaces/f2003/bindGen.rb" from input file "../src/cdi.h".
! Generated by "../
../../
interfaces/f2003/bindGen.rb" from input file "../
../../
src/cdi.h".
module
mo_cdi
use
iso_c_binding
...
...
@@ -416,12 +416,6 @@ module mo_cdi
public
::
vlistInqVarAddoffset
public
::
vlistDefVarTimave
public
::
vlistInqVarTimave
public
::
vlistDefVarTimaccu
public
::
vlistInqVarTimaccu
public
::
vlistDefVarTypeOfGeneratingProcess
public
::
vlistInqVarTypeOfGeneratingProcess
public
::
vlistDefVarProductDefinitionTemplate
public
::
vlistInqVarProductDefinitionTemplate
public
::
vlistInqVarSize
public
::
vlistDefIndex
public
::
vlistInqIndex
...
...
@@ -431,8 +425,6 @@ module mo_cdi
public
::
vlistFindLevel
public
::
vlistMergedVar
public
::
vlistMergedLevel
public
::
vlistDefVarEnsemble
public
::
vlistInqVarEnsemble
public
::
cdiClearAdditionalKeys
public
::
cdiDefAdditionalKey
public
::
vlistDefVarIntKey
...
...
@@ -478,6 +470,19 @@ module mo_cdi
public
::
gridDefYvals
public
::
gridInqYvals
public
::
gridInqYIsc
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_TABLESVERSION
=
801
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_LOCALTABLESVERSION
=
802
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_TYPEOFGENERATINGPROCESS
=
803
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_PRODUCTDEFINITIONTEMPLATE
=
804
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_TYPEOFPROCESSEDDATA
=
805
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_SHAPEOFTHEEARTH
=
806
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_BACKGROUNDPROCESS
=
807
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_TYPEOFENSEMBLEFORECAST
=
808
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_NUMBEROFFORECASTSINENSEMBLE
=
&
&
809
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_PERTURBATIONNUMBER
=
810
public
::
cdiDefKeyInt
public
::
cdiInqKeyInt
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
...
...
@@ -498,6 +503,8 @@ module mo_cdi
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_P0VALUE
=
952
public
::
cdiGridDefKeyStr
public
::
cdiGridInqKeyStr
public
::
cdiZaxisDefKeyStr
public
::
cdiZaxisInqKeyStr
public
::
cdiZaxisDefKeyFlt
public
::
cdiZaxisInqKeyFlt
public
::
gridDefXname
...
...
@@ -574,8 +581,6 @@ module mo_cdi
public
::
zaxisInqNumber
public
::
zaxisDefUUID
public
::
zaxisInqUUID
public
::
cdiZaxisDefKeyStr
public
::
cdiZaxisInqKeyStr
public
::
zaxisDefName
public
::
zaxisInqName
public
::
zaxisDefLongname
...
...
@@ -1622,56 +1627,6 @@ module mo_cdi
integer
(
c_int
)
::
f_result
end
function
vlistInqVarTimave
subroutine
vlistDefVarTimaccu
(
vlistID_dummy
,
varID_dummy
,
timaccu_dummy
)&
&
bind
(
c
,
name
=
'vlistDefVarTimaccu'
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
value
::
timaccu_dummy
end
subroutine
vlistDefVarTimaccu
function
vlistInqVarTimaccu
(
vlistID_dummy
,
varID_dummy
)
bind
(
c
,
name
=
&
&
'vlistInqVarTimaccu'
)
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
)
::
f_result
end
function
vlistInqVarTimaccu
subroutine
vlistDefVarTypeOfGeneratingProcess
(
vlistID_dummy
,
varID_dummy
,&
&
typeOfGeneratingProcess_dummy
)
bind
(
c
,
name
=
&
&
'vlistDefVarTypeOfGeneratingProcess'
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
value
::
typeOfGeneratingProcess_dummy
end
subroutine
vlistDefVarTypeOfGeneratingProcess
function
vlistInqVarTypeOfGeneratingProcess
(
vlistID_dummy
,
varID_dummy
)&
&
bind
(
c
,
name
=
'vlistInqVarTypeOfGeneratingProcess'
)
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
)
::
f_result
end
function
vlistInqVarTypeOfGeneratingProcess
subroutine
vlistDefVarProductDefinitionTemplate
(
vlistID_dummy
,
varID_dummy
,&
&
productDefinitionTemplate_dummy
)
bind
(
c
,
name
=
&
&
'vlistDefVarProductDefinitionTemplate'
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
value
::
productDefinitionTemplate_dummy
end
subroutine
vlistDefVarProductDefinitionTemplate
function
vlistInqVarProductDefinitionTemplate
(
vlistID_dummy
,
varID_dummy
)&
&
bind
(
c
,
name
=
'vlistInqVarProductDefinitionTemplate'
)
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
)
::
f_result
end
function
vlistInqVarProductDefinitionTemplate
function
vlistInqVarSize
(
vlistID_dummy
,
varID_dummy
)
bind
(
c
,
name
=
&
&
'vlistInqVarSize'
)
result
(
f_result
)
import
c_int
,
c_size_t
...
...
@@ -1750,29 +1705,6 @@ module mo_cdi
integer
(
c_int
)
::
f_result
end
function
vlistMergedLevel
subroutine
vlistDefVarEnsemble
(
vlistID_dummy
,
varID_dummy
,
ensID_dummy
,&
&
ensCount_dummy
,
forecast_type_dummy
)
bind
(
c
,
name
=
&
&
'vlistDefVarEnsemble'
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
value
::
ensID_dummy
integer
(
c_int
),
value
::
ensCount_dummy
integer
(
c_int
),
value
::
forecast_type_dummy
end
subroutine
vlistDefVarEnsemble
function
vlistInqVarEnsemble
(
vlistID_dummy
,
varID_dummy
,
ensID_dummy
,&
&
ensCount_dummy
,
forecast_type_dummy
)
bind
(
c
,
name
=
&
&
'vlistInqVarEnsemble'
)
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
intent
(
inout
)
::
ensID_dummy
integer
(
c_int
),
intent
(
inout
)
::
ensCount_dummy
integer
(
c_int
),
intent
(
inout
)
::
forecast_type_dummy
integer
(
c_int
)
::
f_result
end
function
vlistInqVarEnsemble
subroutine
cdiClearAdditionalKeys
()
bind
(
c
,
name
=
&
&
'cdiClearAdditionalKeys'
)
end
subroutine
cdiClearAdditionalKeys
...
...
@@ -1977,6 +1909,26 @@ module mo_cdi
integer
(
c_int
)
::
f_result
end
function
gridInqYIsc
function
cdiDefKeyInt
(
cdiID_dummy
,
varID_dummy
,
key_dummy
,
value_dummy
)&
&
bind
(
c
,
name
=
'cdiDefKeyInt'
)
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
cdiID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
value_dummy
integer
(
c_int
)
::
f_result
end
function
cdiDefKeyInt
function
cdiInqKeyInt
(
cdiID_dummy
,
varID_dummy
,
key_dummy
,
value_dummy
)&
&
bind
(
c
,
name
=
'cdiInqKeyInt'
)
result
(
f_result
)
import
c_int
integer
(
c_int
),
value
::
cdiID_dummy
integer
(
c_int
),
value
::
varID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
intent
(
inout
)
::
value_dummy
integer
(
c_int
)
::
f_result
end
function
cdiInqKeyInt
function
cdiZaxisDefKeyFlt
(
zaxisID_dummy
,
key_dummy
,
value_dummy
)
bind
(
c
,&
&
name
=
'cdiZaxisDefKeyFlt'
)
result
(
f_result
)
import
c_double
,
c_int
...
...
@@ -4944,6 +4896,73 @@ contains
end
do
end
function
cdiGridInqKeyStr
function
cdiZaxisDefKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,
mesg_dummy
)&
&
result
(
f_result
)
integer
(
c_int
)
::
f_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
,
len
=
*
),
intent
(
in
)
::
mesg_dummy
character
(
kind
=
c_char
)
::
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
integer
::
mesg_i
interface
function
lib_cdiZaxisDefKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_dummy
)
bind
(
c
,
name
=
'cdiZaxisDefKeyStr'
)
result
(
c_result
)
import
c_char
,
c_int
integer
(
c_int
)
::
c_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
)
::
mesg_dummy
(
*
)
end
function
lib_cdiZaxisDefKeyStr
end
interface
do
mesg_i
=
1
,
len
(
mesg_dummy
)
mesg_temp
(
mesg_i
)
=
mesg_dummy
(
mesg_i
:
mesg_i
)
end
do
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
=
c_null_char
f_result
=
lib_cdiZaxisDefKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_temp
)
end
function
cdiZaxisDefKeyStr
function
cdiZaxisInqKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,
mesg_dummy
)&
&
result
(
f_result
)
integer
(
c_int
)
::
f_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
,
len
=
*
),
intent
(
inout
)
::
mesg_dummy
character
(
kind
=
c_char
)
::
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
integer
::
mesg_i
interface
function
lib_cdiZaxisInqKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_dummy
)
bind
(
c
,
name
=
'cdiZaxisInqKeyStr'
)
result
(
c_result
)
import
c_char
,
c_int
integer
(
c_int
)
::
c_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
)
::
mesg_dummy
(
*
)
end
function
lib_cdiZaxisInqKeyStr
end
interface
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
=
c_null_char
do
mesg_i
=
len
(
mesg_dummy
),
1
,
-1
if
(
mesg_dummy
(
mesg_i
:
mesg_i
)
/
=
' '
)
exit
mesg_temp
(
mesg_i
)
=
c_null_char
end
do
do
mesg_i
=
mesg_i
,
1
,
-1
mesg_temp
(
mesg_i
)
=
mesg_dummy
(
mesg_i
:
mesg_i
)
end
do
f_result
=
lib_cdiZaxisInqKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_temp
)
do
mesg_i
=
1
,
len
(
mesg_dummy
)
if
(
mesg_temp
(
mesg_i
)
==
c_null_char
)
exit
mesg_dummy
(
mesg_i
:
mesg_i
)
=
mesg_temp
(
mesg_i
)
end
do
do
mesg_i
=
mesg_i
,
len
(
mesg_dummy
)
mesg_dummy
(
mesg_i
:
mesg_i
)
=
' '
end
do
end
function
cdiZaxisInqKeyStr
subroutine
gridDefXname
(
gridID_dummy
,
xname_dummy
)
integer
(
c_int
),
value
::
gridID_dummy
character
(
kind
=
c_char
,
len
=
*
),
intent
(
in
)
::
xname_dummy
...
...
@@ -5417,73 +5436,6 @@ contains
end
if
end
function
zaxisNamePtr
function
cdiZaxisDefKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,
mesg_dummy
)&
&
result
(
f_result
)
integer
(
c_int
)
::
f_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
,
len
=
*
),
intent
(
in
)
::
mesg_dummy
character
(
kind
=
c_char
)
::
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
integer
::
mesg_i
interface
function
lib_cdiZaxisDefKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_dummy
)
bind
(
c
,
name
=
'cdiZaxisDefKeyStr'
)
result
(
c_result
)
import
c_char
,
c_int
integer
(
c_int
)
::
c_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
)
::
mesg_dummy
(
*
)
end
function
lib_cdiZaxisDefKeyStr
end
interface
do
mesg_i
=
1
,
len
(
mesg_dummy
)
mesg_temp
(
mesg_i
)
=
mesg_dummy
(
mesg_i
:
mesg_i
)
end
do
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
=
c_null_char
f_result
=
lib_cdiZaxisDefKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_temp
)
end
function
cdiZaxisDefKeyStr
function
cdiZaxisInqKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,
mesg_dummy
)&
&
result
(
f_result
)
integer
(
c_int
)
::
f_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
,
len
=
*
),
intent
(
inout
)
::
mesg_dummy
character
(
kind
=
c_char
)
::
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
integer
::
mesg_i
interface
function
lib_cdiZaxisInqKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_dummy
)
bind
(
c
,
name
=
'cdiZaxisInqKeyStr'
)
result
(
c_result
)
import
c_char
,
c_int
integer
(
c_int
)
::
c_result
integer
(
c_int
),
value
::
zaxisID_dummy
integer
(
c_int
),
value
::
key_dummy
integer
(
c_int
),
value
::
size_dummy
character
(
kind
=
c_char
)
::
mesg_dummy
(
*
)
end
function
lib_cdiZaxisInqKeyStr
end
interface
mesg_temp
(
len
(
mesg_dummy
)
+
1
)
=
c_null_char
do
mesg_i
=
len
(
mesg_dummy
),
1
,
-1
if
(
mesg_dummy
(
mesg_i
:
mesg_i
)
/
=
' '
)
exit
mesg_temp
(
mesg_i
)
=
c_null_char
end
do
do
mesg_i
=
mesg_i
,
1
,
-1
mesg_temp
(
mesg_i
)
=
mesg_dummy
(
mesg_i
:
mesg_i
)
end
do
f_result
=
lib_cdiZaxisInqKeyStr
(
zaxisID_dummy
,
key_dummy
,
size_dummy
,&
&
mesg_temp
)
do
mesg_i
=
1
,
len
(
mesg_dummy
)
if
(
mesg_temp
(
mesg_i
)
==
c_null_char
)
exit
mesg_dummy
(
mesg_i
:
mesg_i
)
=
mesg_temp
(
mesg_i
)
end
do
do
mesg_i
=
mesg_i
,
len
(
mesg_dummy
)
mesg_dummy
(
mesg_i
:
mesg_i
)
=
' '
end
do
end
function
cdiZaxisInqKeyStr
subroutine
zaxisDefName
(
zaxisID_dummy
,
name
)
integer
(
c_int
),
value
::
zaxisID_dummy
character
(
kind
=
c_char
,
len
=
*
),
optional
,
intent
(
in
)
::
name
...
...
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