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
86fa9937
Commit
86fa9937
authored
Nov 23, 2015
by
Uwe Schulzweida
Browse files
moved declaration of vlistInqVarNamePtr, vlistInqVarLongnamePtr, vlistInqVarUnitsPtr to cdi.h
parent
ef08ba93
Changes
3
Hide whitespace changes
Inline
Side-by-side
src/cdi.h
View file @
86fa9937
...
...
@@ -584,7 +584,7 @@ void vlistDefVarName(int vlistID, int varID, const char *name);
void
vlistInqVarName
(
int
vlistID
,
int
varID
,
char
*
name
);
/* vlistCopyVarName: Safe and convenient version of vlistInqVarName */
char
*
vlistCopyVarName
(
int
vlistId
,
int
varId
);
char
*
vlistCopyVarName
(
int
vlistId
,
int
varId
);
/* vlistDefVarStdname: Define the standard name of a Variable */
void
vlistDefVarStdname
(
int
vlistID
,
int
varID
,
const
char
*
stdname
);
...
...
@@ -664,6 +664,10 @@ double vlistInqVarDblKey(int vlistID, int varID, const char *name);
/* vlistInqVarIntKey: raw access to GRIB meta-data */
int
vlistInqVarIntKey
(
int
vlistID
,
int
varID
,
const
char
*
name
);
/* needed only for CDO operator after */
const
char
*
vlistInqVarNamePtr
(
int
vlistID
,
int
varID
);
const
char
*
vlistInqVarLongnamePtr
(
int
vlistID
,
int
varID
);
const
char
*
vlistInqVarUnitsPtr
(
int
vlistID
,
int
varID
);
/* VLIST attributes */
...
...
@@ -1140,6 +1144,7 @@ int tableInqParName(int tableID, int code, char *name);
int
tableInqParLongname
(
int
tableID
,
int
code
,
char
*
longname
);
int
tableInqParUnits
(
int
tableID
,
int
code
,
char
*
units
);
/* needed only for CDO operator after */
const
char
*
tableInqParNamePtr
(
int
tableID
,
int
parID
);
const
char
*
tableInqParLongnamePtr
(
int
tableID
,
int
parID
);
const
char
*
tableInqParUnitsPtr
(
int
tableID
,
int
parID
);
...
...
@@ -1191,7 +1196,7 @@ int vlistInqVarSubtype(int vlistID, int varID);
void
gribapiLibraryVersion
(
int
*
major_version
,
int
*
minor_version
,
int
*
revision_version
);
#if defined (__cplusplus)
}
#endif
...
...
src/mo_cdi.f90
View file @
86fa9937
...
...
@@ -407,6 +407,9 @@ module mo_cdi
public
::
vlistHasVarKey
public
::
vlistInqVarDblKey
public
::
vlistInqVarIntKey
public
::
vlistInqVarNamePtr
public
::
vlistInqVarLongnamePtr
public
::
vlistInqVarUnitsPtr
public
::
vlistInqNatts
public
::
vlistInqAtt
public
::
vlistDelAtt
...
...
@@ -4449,6 +4452,75 @@ contains
f_result
=
lib_vlistInqVarIntKey
(
vlistID_dummy
,
varID_dummy
,
name_temp
)
end
function
vlistInqVarIntKey
function
vlistInqVarNamePtr
(
vlistID_dummy
,
varID_dummy
)
result
(
f_result
)
character
(
kind
=
c_char
),
dimension
(:),
pointer
::
f_result
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
type
(
c_ptr
)
::
ptr
integer
::
rv_shape
(
1
)
interface
function
lib_vlistInqVarNamePtr
(
vlistID_dummy
,
varID_dummy
)
bind
(
c
,
name
&
&
=
'vlistInqVarNamePtr'
)
result
(
c_result
)
import
c_int
,
c_ptr
type
(
c_ptr
)
::
c_result
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
end
function
lib_vlistInqVarNamePtr
end
interface
f_result
=>
null
()
ptr
=
lib_vlistInqVarNamePtr
(
vlistID_dummy
,
varID_dummy
)
if
(
c_associated
(
ptr
))
then
rv_shape
(
1
)
=
int
(
lib_strlen
(
ptr
))
call
c_f_pointer
(
ptr
,
f_result
,
rv_shape
)
end
if
end
function
vlistInqVarNamePtr
function
vlistInqVarLongnamePtr
(
vlistID_dummy
,
varID_dummy
)
result
(
f_result
)
character
(
kind
=
c_char
),
dimension
(:),
pointer
::
f_result
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
type
(
c_ptr
)
::
ptr
integer
::
rv_shape
(
1
)
interface
function
lib_vlistInqVarLongnamePtr
(
vlistID_dummy
,
varID_dummy
)
bind
(
c
,&
&
name
=
'vlistInqVarLongnamePtr'
)
result
(
c_result
)
import
c_int
,
c_ptr
type
(
c_ptr
)
::
c_result
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
end
function
lib_vlistInqVarLongnamePtr
end
interface
f_result
=>
null
()
ptr
=
lib_vlistInqVarLongnamePtr
(
vlistID_dummy
,
varID_dummy
)
if
(
c_associated
(
ptr
))
then
rv_shape
(
1
)
=
int
(
lib_strlen
(
ptr
))
call
c_f_pointer
(
ptr
,
f_result
,
rv_shape
)
end
if
end
function
vlistInqVarLongnamePtr
function
vlistInqVarUnitsPtr
(
vlistID_dummy
,
varID_dummy
)
result
(
f_result
)
character
(
kind
=
c_char
),
dimension
(:),
pointer
::
f_result
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
type
(
c_ptr
)
::
ptr
integer
::
rv_shape
(
1
)
interface
function
lib_vlistInqVarUnitsPtr
(
vlistID_dummy
,
varID_dummy
)
bind
(
c
,
name
&
&
=
'vlistInqVarUnitsPtr'
)
result
(
c_result
)
import
c_int
,
c_ptr
type
(
c_ptr
)
::
c_result
integer
(
c_int
),
value
::
vlistID_dummy
integer
(
c_int
),
value
::
varID_dummy
end
function
lib_vlistInqVarUnitsPtr
end
interface
f_result
=>
null
()
ptr
=
lib_vlistInqVarUnitsPtr
(
vlistID_dummy
,
varID_dummy
)
if
(
c_associated
(
ptr
))
then
rv_shape
(
1
)
=
int
(
lib_strlen
(
ptr
))
call
c_f_pointer
(
ptr
,
f_result
,
rv_shape
)
end
if
end
function
vlistInqVarUnitsPtr
function
vlistInqAtt
(
vlistID_dummy
,
varID_dummy
,
attrnum_dummy
,
name_dummy
,&
&
typep_dummy
,
lenp_dummy
)
result
(
f_result
)
integer
(
c_int
)
::
f_result
...
...
src/vlist.h
View file @
86fa9937
...
...
@@ -142,10 +142,7 @@ vlist_t *vlist_to_pointer(int vlistID);
void
cdiVlistMakeInternal
(
int
vlistID
);
void
cdiVlistMakeImmutable
(
int
vlistID
);
void
vlistCheckVarID
(
const
char
*
caller
,
int
vlistID
,
int
varID
);
const
char
*
vlistInqVarNamePtr
(
int
vlistID
,
int
varID
);
const
char
*
vlistInqVarLongnamePtr
(
int
vlistID
,
int
varID
);
const
char
*
vlistInqVarStdnamePtr
(
int
vlistID
,
int
varID
);
const
char
*
vlistInqVarUnitsPtr
(
int
vlistID
,
int
varID
);
void
vlistDestroyVarName
(
int
vlistID
,
int
varID
);
void
vlistDestroyVarLongname
(
int
vlistID
,
int
varID
);
void
vlistDestroyVarStdname
(
int
vlistID
,
int
varID
);
...
...
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