NCEPLIBS-bufr  12.0.0
bufrlib.F90
Go to the documentation of this file.
1 
6 
10 
11 module bufrlib
12  use bufr_interface
13 
14  interface
15 
25  subroutine openrb_c( nfile, ufile ) bind(C, name='openrb')
26  use iso_c_binding
27  character(kind=c_char), intent(in) :: ufile(*)
28  integer(c_int), intent(in), value :: nfile
29  end subroutine openrb_c
30 
40  subroutine openwb_c( nfile, ufile ) bind(C, name='openwb')
41  use iso_c_binding
42  character(kind=c_char), intent(in) :: ufile(*)
43  integer(c_int), intent(in), value :: nfile
44  end subroutine openwb_c
45 
55  subroutine openab_c( nfile, ufile ) bind(C, name='openab')
56  use iso_c_binding
57  character(kind=c_char), intent(in) :: ufile(*)
58  integer(c_int), intent(in), value :: nfile
59  end subroutine openab_c
60 
69  subroutine backbufr_c( nfile ) bind(C, name='backbufr')
70  use iso_c_binding
71  integer(c_int), intent(in), value :: nfile
72  end subroutine backbufr_c
73 
82  subroutine cewind_c( nfile ) bind(C, name='cewind')
83  use iso_c_binding
84  integer(c_int), intent(in), value :: nfile
85  end subroutine cewind_c
86 
95  subroutine closfb_c( nfile ) bind(C, name='closfb')
96  use iso_c_binding
97  integer(c_int), intent(in), value :: nfile
98  end subroutine closfb_c
99 
117  integer(c_int) function crdbufr_c( nfile, bufr, mxwrd ) bind(C, name='crdbufr')
118  use iso_c_binding
119  integer(c_int), intent(out) :: bufr(*)
120  integer(c_int), intent(in), value :: nfile, mxwrd
121  end function crdbufr_c
122 
133  subroutine cwrbufr_c( nfile, bufr, nwrd ) bind(C, name='cwrbufr')
134  use iso_c_binding
135  integer(c_int), intent(in) :: bufr(*)
136  integer(c_int), intent(in), value :: nfile, nwrd
137  end subroutine cwrbufr_c
138 
153  integer(c_int) function icvidx_c( ii, jj, numjj ) bind(C, name='icvidx')
154  use iso_c_binding
155  integer(c_int), intent(in), value :: ii, jj, numjj
156  end function icvidx_c
157 
164  subroutine arallocc_c() bind(C, name='arallocc')
165  use iso_c_binding
166  end subroutine arallocc_c
167 
174  subroutine ardllocc_c() bind(C, name='ardllocc')
175  use iso_c_binding
176  end subroutine ardllocc_c
177 
201  subroutine cpmstabs_c( nmtb, ibfxyn, cbscl, cbsref, cbbw, cbunit, cbmnem, cbelem, &
202  nmtd, idfxyn, cdseq, cdmnem, ndelem, idefxy, maxcd ) bind(C, name='cpmstabs')
203  use iso_c_binding
204  integer(c_int), intent(in) :: ibfxyn(*), idfxyn(*), ndelem(*), idefxy(*)
205  integer(c_int), intent(in), value :: nmtb, nmtd, maxcd
206  character(kind=c_char), intent(in) :: cbscl(4,*), cbsref(12,*), cbbw(4,*), cbunit(24,*), &
207  cbmnem(8,*), cbelem(120,*), cdseq(120,*), cdmnem(8,*)
208  end subroutine cpmstabs_c
209 
216  subroutine inittbf_c() bind(C, name='inittbf')
217  use iso_c_binding
218  end subroutine inittbf_c
219 
236  subroutine strtbfe_c(ifxyn,ival,meaning,lmeaning,idfxy,idval) bind(C, name='strtbfe')
237  use iso_c_binding
238  integer(c_int), intent(in), value :: ifxyn, ival, lmeaning, idfxy, idval
239  character(kind=c_char), intent(in) :: meaning(*)
240  end subroutine strtbfe_c
241 
248  subroutine sorttbf_c() bind(C, name='sorttbf')
249  use iso_c_binding
250  end subroutine sorttbf_c
251 
287  subroutine srchtbf_c(ifxyi,ivali,ifxyd,mxfxyd,ivald,meaning,mxmng,lnmng,iret) bind(C, name='srchtbf')
288  use iso_c_binding
289  integer(c_int), intent(in), value :: ifxyi, ivali, mxfxyd, ivald, mxmng
290  integer(c_int), intent(inout) :: ifxyd
291  integer(c_int), intent(out) :: lnmng, iret
292  character(kind=c_char), intent(out) :: meaning(*)
293  end subroutine srchtbf_c
294 
306  subroutine restd_c(lun, tddesc, nctddesc, ctddesc) bind(C, name='restd')
307  use iso_c_binding
308  integer(c_int), intent(in), value :: lun, tddesc
309  integer(c_int), intent(out) :: nctddesc, ctddesc(*)
310  end subroutine restd_c
311 
326  subroutine stseq_c(lun,irepct,idn,nemo,cseq,cdesc,ncdesc) bind(C, name='stseq')
327  use iso_c_binding
328  integer(c_int), intent(in), value :: lun, idn, ncdesc
329  character(kind=c_char), intent(in) :: nemo(*), cseq(*)
330  integer(c_int), intent(inout) :: irepct
331  integer(c_int), intent(out) :: cdesc(*)
332  end subroutine stseq_c
333 
340  subroutine bort_exit_c() bind(C, name='bort_exit')
341  use iso_c_binding
342  end subroutine bort_exit_c
343 
344  end interface
345 
346 end module bufrlib
Wrap C NCEPLIBS-bufr functions so they can be called from within Fortran application programs.
Wrap C NCEPLIBS-bufr functions so they can be called from within the Fortran part of the library.
Definition: bufrlib.F90:11