Skip to content
GitLab
Menu
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
f8565286
Commit
f8565286
authored
Jul 05, 2018
by
Uwe Schulzweida
Browse files
Merge branch 'f2003-interface-for-int64' into develop
parents
0d197dba
6b8f1a72
Changes
3
Hide whitespace changes
Inline
Side-by-side
examples/cdi_write_f2003.f90
View file @
f8565286
...
...
@@ -72,7 +72,7 @@
! Loop over the number of time steps
DO
tsID
=
0
,
nts
-1
! Set the verification date to 1985-01-01 + tsID
CALL
taxisDefVdate
(
taxisID
,
19850101
+
tsID
)
CALL
taxisDefVdate
(
taxisID
,
INT
(
19850101
+
tsID
,
8
)
)
! Set the verification time to 12:00:00
CALL
taxisDefVtime
(
taxisID
,
120000
)
! Define the time step
...
...
interfaces/f2003/bindGen.rb
View file @
f8565286
...
...
@@ -661,7 +661,7 @@ def matchTemplate(regexString, matchString)
regexString
=
regexString
.
gsub
(
"<opaqueTypes>"
,
opaqueTypesString
)
publicTypesString
=
'('
+
$publicTypes
.
collect
{
|
type
|
type
}.
join
(
'|'
)
+
')'
regexString
=
regexString
.
gsub
(
'<publicTypes>'
,
publicTypesString
)
regexString
=
regexString
.
gsub
(
'<integerTypes>'
,
'(short|int|long|size_t|intmax_t|int_(least|fast)(8|16|32|64)_t
)
'
)
regexString
=
regexString
.
gsub
(
'<integerTypes>'
,
'
\b
(short|int|long|size_t|intmax_t|int_(least|fast)(8|16|32|64)_t
|int(8|16|32|64)_t)\b
'
)
regexString
=
regexString
.
gsub
(
'<floatTypes>'
,
'(float|double)'
)
return
Regexp
.
new
(
regexString
).
match
(
matchString
)
end
...
...
src/mo_cdi.f90
View file @
f8565286
...
...
@@ -489,6 +489,9 @@ module mo_cdi
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_MPIMUSER
=
815
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_REVSTATUS
=
816
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_REVNUMBER
=
817
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_GRIB2LOCALSECTIONNUMBER
=
818
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_SECTION2PADDINGLENGTH
=
819
integer
(
c_int
),
public
,
parameter
::
CDI_KEY_SECTION2PADDING
=
820
public
::
cdiDefKeyInt
public
::
cdiInqKeyInt
public
::
cdiDefKeyBytes
...
...
@@ -565,8 +568,10 @@ module mo_cdi
public
::
gridInqNvertex
public
::
gridDefXbounds
public
::
gridInqXbounds
public
::
gridInqXboundsPart
public
::
gridDefYbounds
public
::
gridInqYbounds
public
::
gridInqYboundsPart
public
::
gridDefRowlon
public
::
gridInqRowlon
public
::
gridChangeType
...
...
@@ -766,8 +771,8 @@ module mo_cdi
subroutine
cdiDecodeDate
(
date_dummy
,
year_dummy
,
month_dummy
,
day_dummy
)&
&
bind
(
c
,
name
=
'cdiDecodeDate'
)
import
c_int
integer
(
c_int
),
value
::
date_dummy
import
c_int
,
c_int64_t
integer
(
c_int
64_t
),
value
::
date_dummy
integer
(
c_int
),
intent
(
inout
)
::
year_dummy
integer
(
c_int
),
intent
(
inout
)
::
month_dummy
integer
(
c_int
),
intent
(
inout
)
::
day_dummy
...
...
@@ -775,11 +780,11 @@ module mo_cdi
function
cdiEncodeDate
(
year_dummy
,
month_dummy
,
day_dummy
)
bind
(
c
,
name
=
&
&
'cdiEncodeDate'
)
result
(
f_result
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
year_dummy
integer
(
c_int
),
value
::
month_dummy
integer
(
c_int
),
value
::
day_dummy
integer
(
c_int
)
::
f_result
integer
(
c_int
64_t
)
::
f_result
end
function
cdiEncodeDate
subroutine
cdiDecodeTime
(
time_dummy
,
hour_dummy
,
minute_dummy
,&
...
...
@@ -2236,6 +2241,16 @@ module mo_cdi
integer
(
c_size_t
)
::
f_result
end
function
gridInqXbounds
function
gridInqXboundsPart
(
gridID_dummy
,
start_dummy
,
size_dummy
,&
&
xbounds_dummy
)
bind
(
c
,
name
=
'gridInqXboundsPart'
)
result
(
f_result
)
import
c_double
,
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_int
),
value
::
start_dummy
integer
(
c_size_t
),
value
::
size_dummy
real
(
c_double
),
intent
(
inout
)
::
xbounds_dummy
(
*
)
integer
(
c_size_t
)
::
f_result
end
function
gridInqXboundsPart
subroutine
gridDefYbounds
(
gridID_dummy
,
ybounds_dummy
)
bind
(
c
,
name
=
&
&
'gridDefYbounds'
)
import
c_double
,
c_int
...
...
@@ -2251,6 +2266,16 @@ module mo_cdi
integer
(
c_size_t
)
::
f_result
end
function
gridInqYbounds
function
gridInqYboundsPart
(
gridID_dummy
,
start_dummy
,
size_dummy
,&
&
ybounds_dummy
)
bind
(
c
,
name
=
'gridInqYboundsPart'
)
result
(
f_result
)
import
c_double
,
c_int
,
c_size_t
integer
(
c_int
),
value
::
gridID_dummy
integer
(
c_int
),
value
::
start_dummy
integer
(
c_size_t
),
value
::
size_dummy
real
(
c_double
),
intent
(
inout
)
::
ybounds_dummy
(
*
)
integer
(
c_size_t
)
::
f_result
end
function
gridInqYboundsPart
subroutine
gridDefRowlon
(
gridID_dummy
,
nrowlon_dummy
,
rowlon_dummy
)
bind
(
c
,&
&
name
=
'gridDefRowlon'
)
import
c_int
...
...
@@ -2596,9 +2621,9 @@ module mo_cdi
subroutine
taxisDefVdate
(
taxisID_dummy
,
date_dummy
)
bind
(
c
,
name
=
&
&
'taxisDefVdate'
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
),
value
::
date_dummy
integer
(
c_int
64_t
),
value
::
date_dummy
end
subroutine
taxisDefVdate
subroutine
taxisDefVtime
(
taxisID_dummy
,
time_dummy
)
bind
(
c
,
name
=
&
...
...
@@ -2610,9 +2635,9 @@ module mo_cdi
function
taxisInqVdate
(
taxisID_dummy
)
bind
(
c
,
name
=
'taxisInqVdate'
)&
&
result
(
f_result
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
)
::
f_result
integer
(
c_int
64_t
)
::
f_result
end
function
taxisInqVdate
function
taxisInqVtime
(
taxisID_dummy
)
bind
(
c
,
name
=
'taxisInqVtime'
)&
...
...
@@ -2624,9 +2649,9 @@ module mo_cdi
subroutine
taxisDefRdate
(
taxisID_dummy
,
date_dummy
)
bind
(
c
,
name
=
&
&
'taxisDefRdate'
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
),
value
::
date_dummy
integer
(
c_int
64_t
),
value
::
date_dummy
end
subroutine
taxisDefRdate
subroutine
taxisDefRtime
(
taxisID_dummy
,
time_dummy
)
bind
(
c
,
name
=
&
...
...
@@ -2638,9 +2663,9 @@ module mo_cdi
function
taxisInqRdate
(
taxisID_dummy
)
bind
(
c
,
name
=
'taxisInqRdate'
)&
&
result
(
f_result
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
)
::
f_result
integer
(
c_int
64_t
)
::
f_result
end
function
taxisInqRdate
function
taxisInqRtime
(
taxisID_dummy
)
bind
(
c
,
name
=
'taxisInqRtime'
)&
...
...
@@ -2652,9 +2677,9 @@ module mo_cdi
subroutine
taxisDefFdate
(
taxisID_dummy
,
date_dummy
)
bind
(
c
,
name
=
&
&
'taxisDefFdate'
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
),
value
::
date_dummy
integer
(
c_int
64_t
),
value
::
date_dummy
end
subroutine
taxisDefFdate
subroutine
taxisDefFtime
(
taxisID_dummy
,
time_dummy
)
bind
(
c
,
name
=
&
...
...
@@ -2666,9 +2691,9 @@ module mo_cdi
function
taxisInqFdate
(
taxisID_dummy
)
bind
(
c
,
name
=
'taxisInqFdate'
)&
&
result
(
f_result
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
)
::
f_result
integer
(
c_int
64_t
)
::
f_result
end
function
taxisInqFdate
function
taxisInqFtime
(
taxisID_dummy
)
bind
(
c
,
name
=
'taxisInqFtime'
)&
...
...
@@ -2698,10 +2723,10 @@ module mo_cdi
subroutine
taxisDefVdateBounds
(
taxisID_dummy
,
vdate_lb_dummy
,&
&
vdate_ub_dummy
)
bind
(
c
,
name
=
'taxisDefVdateBounds'
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
),
value
::
vdate_lb_dummy
integer
(
c_int
),
value
::
vdate_ub_dummy
integer
(
c_int
64_t
),
value
::
vdate_lb_dummy
integer
(
c_int
64_t
),
value
::
vdate_ub_dummy
end
subroutine
taxisDefVdateBounds
subroutine
taxisDefVtimeBounds
(
taxisID_dummy
,
vtime_lb_dummy
,&
...
...
@@ -2714,10 +2739,10 @@ module mo_cdi
subroutine
taxisInqVdateBounds
(
taxisID_dummy
,
vdate_lb_dummy
,&
&
vdate_ub_dummy
)
bind
(
c
,
name
=
'taxisInqVdateBounds'
)
import
c_int
import
c_int
,
c_int64_t
integer
(
c_int
),
value
::
taxisID_dummy
integer
(
c_int
),
intent
(
inout
)
::
vdate_lb_dummy
integer
(
c_int
),
intent
(
inout
)
::
vdate_ub_dummy
integer
(
c_int
64_t
),
intent
(
inout
)
::
vdate_lb_dummy
integer
(
c_int
64_t
),
intent
(
inout
)
::
vdate_ub_dummy
end
subroutine
taxisInqVdateBounds
subroutine
taxisInqVtimeBounds
(
taxisID_dummy
,
vtime_lb_dummy
,&
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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