NCEPLIBS-bufr  12.3.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_goto_target_c() bind(C, name='bort_goto_target')
341  use iso_c_binding
342  end subroutine bort_goto_target_c
343 
355  subroutine catch_bort_openbf_c(lunit,cio,lundx,cio_str_len) bind(C, name='catch_bort_openbf')
356  use iso_c_binding
357  integer(c_int), value, intent(in) :: lunit, lundx, cio_str_len
358  character(kind=c_char), intent(inout) :: cio(*)
359  end subroutine catch_bort_openbf_c
360 
369  subroutine catch_bort_closbf_c(lunit) bind(C, name='catch_bort_closbf')
370  use iso_c_binding
371  integer(c_int), value, intent(in) :: lunit
372  end subroutine catch_bort_closbf_c
373 
385  subroutine catch_bort_status_c(lunit,lun,il,im) bind(C, name='catch_bort_status')
386  use iso_c_binding
387  integer(c_int), value, intent(in) :: lunit
388  integer(c_int), intent(out) :: lun, il, im
389  end subroutine catch_bort_status_c
390 
403  subroutine catch_bort_readmg_c(lunxx,subset,jdate,subset_str_len,iret) bind(C, name='catch_bort_readmg')
404  use iso_c_binding
405  integer(c_int), value, intent(in) :: lunxx, subset_str_len
406  character(kind=c_char), intent(out) :: subset(*)
407  integer(c_int), intent(out) :: jdate, iret
408  end subroutine catch_bort_readmg_c
409 
421  subroutine catch_bort_openmb_c(lunit,subset,subset_str_len,jdate) bind(C, name='catch_bort_openmb')
422  use iso_c_binding
423  integer(c_int), value, intent(in) :: lunit, subset_str_len, jdate
424  character(kind=c_char), intent(inout) :: subset(*)
425  end subroutine catch_bort_openmb_c
426 
438  subroutine catch_bort_openmg_c(lunit,subset,subset_str_len,jdate) bind(C, name='catch_bort_openmg')
439  use iso_c_binding
440  integer(c_int), value, intent(in) :: lunit, subset_str_len, jdate
441  character(kind=c_char), intent(inout) :: subset(*)
442  end subroutine catch_bort_openmg_c
443 
452  subroutine catch_bort_closmg_c(lunit) bind(C, name='catch_bort_closmg')
453  use iso_c_binding
454  integer(c_int), value, intent(in) :: lunit
455  end subroutine catch_bort_closmg_c
456 
469  subroutine catch_bort_readns_c(lunit,subset,jdate,subset_str_len,iret) bind(C, name='catch_bort_readns')
470  use iso_c_binding
471  integer(c_int), value, intent(in) :: lunit, subset_str_len
472  character(kind=c_char), intent(out) :: subset(*)
473  integer(c_int), intent(out) :: jdate, iret
474  end subroutine catch_bort_readns_c
475 
485  subroutine catch_bort_readsb_c(lunit,iret) bind(C, name='catch_bort_readsb')
486  use iso_c_binding
487  integer(c_int), value, intent(in) :: lunit
488  integer(c_int), intent(out) :: iret
489  end subroutine catch_bort_readsb_c
490 
499  subroutine catch_bort_writsb_c(lunit) bind(C, name='catch_bort_writsb')
500  use iso_c_binding
501  integer(c_int), value, intent(in) :: lunit
502  end subroutine catch_bort_writsb_c
503 
515  subroutine catch_bort_writsa_c(lunxx,bufr_len,bufr,nbufr) bind(C, name='catch_bort_writsa')
516  use iso_c_binding
517  integer(c_int), value, intent(in) :: lunxx, bufr_len
518  integer(c_int), intent(out) :: bufr(*), nbufr
519  end subroutine catch_bort_writsa_c
520 
535  subroutine catch_bort_ufbint_c(lunin,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbint')
536  use iso_c_binding
537  integer(c_int), value, intent(in) :: lunin, i1, i2, cstr_len
538  integer(c_int), intent(out) :: iret
539  character(kind=c_char), intent(inout) :: cstr(*)
540  real(c_double), intent(inout) :: usr(i1,*)
541  end subroutine catch_bort_ufbint_c
542 
557  subroutine catch_bort_ufbrep_c(lunin,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbrep')
558  use iso_c_binding
559  integer(c_int), value, intent(in) :: lunin, i1, i2, cstr_len
560  integer(c_int), intent(out) :: iret
561  character(kind=c_char), intent(inout) :: cstr(*)
562  real(c_double), intent(inout) :: usr(i1,*)
563  end subroutine catch_bort_ufbrep_c
564 
579  subroutine catch_bort_ufbstp_c(lunin,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbstp')
580  use iso_c_binding
581  integer(c_int), value, intent(in) :: lunin, i1, i2, cstr_len
582  integer(c_int), intent(out) :: iret
583  character(kind=c_char), intent(inout) :: cstr(*)
584  real(c_double), intent(inout) :: usr(i1,*)
585  end subroutine catch_bort_ufbstp_c
586 
602  subroutine catch_bort_ufbevn_c(lunit,usr,i1,i2,i3,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbevn')
603  use iso_c_binding
604  integer(c_int), value, intent(in) :: lunit, i1, i2, i3, cstr_len
605  integer(c_int), intent(out) :: iret
606  character(kind=c_char), intent(inout) :: cstr(*)
607  real(c_double), intent(out) :: usr(i1,i2,*)
608  end subroutine catch_bort_ufbevn_c
609 
622  subroutine catch_bort_drfini_c(lunit,mdrf,ndrf,drftag,drftag_len) bind(C, name='catch_bort_drfini')
623  use iso_c_binding
624  integer(c_int), value, intent(in) :: lunit, ndrf, drftag_len
625  integer(c_int), intent(in) :: mdrf(*)
626  character(kind=c_char), intent(inout) :: drftag(*)
627  end subroutine catch_bort_drfini_c
628 
643  subroutine catch_bort_ufbseq_c(lunin,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbseq')
644  use iso_c_binding
645  integer(c_int), value, intent(in) :: lunin, i1, i2, cstr_len
646  integer(c_int), intent(out) :: iret
647  character(kind=c_char), intent(inout) :: cstr(*)
648  real(c_double), intent(inout) :: usr(i1,*)
649  end subroutine catch_bort_ufbseq_c
650 
664  subroutine catch_bort_readlc_c(lunit,cstr,cstr_len,chr,chr_len,nchr) bind(C, name='catch_bort_readlc')
665  use iso_c_binding
666  integer(c_int), value, intent(in) :: lunit, cstr_len, chr_len
667  integer(c_int), intent(out) :: nchr
668  character(kind=c_char), intent(inout) :: cstr(*)
669  character(kind=c_char), intent(out) :: chr(*)
670  end subroutine catch_bort_readlc_c
671 
684  subroutine catch_bort_writlc_c(lunit,cstr,cstr_len,cchr,cchr_len) bind(C, name='catch_bort_writlc')
685  use iso_c_binding
686  integer(c_int), value, intent(in) :: lunit, cstr_len, cchr_len
687  character(kind=c_char), intent(inout) :: cstr(*), cchr(*)
688  end subroutine catch_bort_writlc_c
689 
700  subroutine catch_bort_ufbcnt_c(lunit,kmsg,ksub) bind(C, name='catch_bort_ufbcnt')
701  use iso_c_binding
702  integer(c_int), value, intent(in) :: lunit
703  integer(c_int), intent(out) :: kmsg, ksub
704  end subroutine catch_bort_ufbcnt_c
705 
717  subroutine catch_bort_ufbqcd_c(lunit,cnemo,iqcd,cnemo_len) bind(C, name='catch_bort_ufbqcd')
718  use iso_c_binding
719  integer(c_int), value, intent(in) :: lunit, cnemo_len
720  integer(c_int), intent(out) :: iqcd
721  character(kind=c_char), intent(inout) :: cnemo(*)
722  end subroutine catch_bort_ufbqcd_c
723 
736  subroutine catch_bort_ufbqcp_c(lunit,iqcp,cnemo,cnemo_len,ncn) bind(C, name='catch_bort_ufbqcp')
737  use iso_c_binding
738  integer(c_int), value, intent(in) :: lunit, iqcp, cnemo_len
739  integer(c_int), intent(out) :: ncn
740  character(kind=c_char), intent(out) :: cnemo(*)
741  end subroutine catch_bort_ufbqcp_c
742 
761  subroutine catch_bort_getcfmng_c(lunit,cnemoi,lcni,ivali,cnemod,lcnd,ivald,cmeang_c,lcmgc,lnmng,iret) &
762  bind(c, name='catch_bort_getcfmng')
763  use iso_c_binding
764  integer(c_int), value, intent(in) :: lunit, lcni, ivali, lcnd, ivald, lcmgc
765  integer(c_int), intent(out) :: lnmng, iret
766  character(kind=c_char), intent(inout) :: cnemoi(*), cnemod(*)
767  character(kind=c_char), intent(out) :: cmeang_c(*)
768  end subroutine catch_bort_getcfmng_c
769 
784  subroutine catch_bort_upftbv_c(lunit,cnemo,lcn,val,ibit,mxib,nib) bind(C, name='catch_bort_upftbv')
785  use iso_c_binding
786  integer(c_int), value, intent(in) :: lunit, lcn, mxib
787  integer(c_int), intent(out) :: ibit(*), nib
788  real(c_double), value, intent(in) :: val
789  character(kind=c_char), intent(inout) :: cnemo(*)
790  end subroutine catch_bort_upftbv_c
791 
806  subroutine catch_bort_ufbtab_c(lunin,tab,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbtab')
807  use iso_c_binding
808  integer(c_int), value, intent(in) :: lunin, i1, i2, cstr_len
809  integer(c_int), intent(inout) :: iret
810  character(kind=c_char), intent(inout) :: cstr(*)
811  real(c_double), intent(out) :: tab(i1,*)
812  end subroutine catch_bort_ufbtab_c
813 
827  subroutine catch_bort_ufbpos_c(lunit,irec,isub,subset,jdate,subset_str_len) bind(C, name='catch_bort_ufbpos')
828  use iso_c_binding
829  integer(c_int), value, intent(in) :: lunit, subset_str_len, irec, isub
830  character(kind=c_char), intent(out) :: subset(*)
831  integer(c_int), intent(out) :: jdate
832  end subroutine catch_bort_ufbpos_c
833 
842  subroutine catch_bort_datelen_c(len) bind(C, name='catch_bort_datelen')
843  use iso_c_binding
844  integer(c_int), value, intent(in) :: len
845  end subroutine catch_bort_datelen_c
846 
859  subroutine catch_bort_iupvs01_c(lunit,s01mnem,s01mnem_str_len,iret) bind(C, name='catch_bort_iupvs01')
860  use iso_c_binding
861  integer(c_int), intent(in), value :: lunit, s01mnem_str_len
862  integer(c_int), intent(out) :: iret
863  character(kind=c_char), intent(inout) :: s01mnem(*)
864  end subroutine catch_bort_iupvs01_c
865 
875  subroutine catch_bort_nmsub_c(lunit,iret) bind(C, name='catch_bort_nmsub')
876  use iso_c_binding
877  integer(c_int), value, intent(in) :: lunit
878  integer(c_int), intent(out) :: iret
879  end subroutine catch_bort_nmsub_c
880 
892  subroutine catch_bort_pkvs01_c(s01mnem,s01mnem_str_len,ival) bind(C, name='catch_bort_pkvs01')
893  use iso_c_binding
894  integer(c_int), intent(in), value :: s01mnem_str_len, ival
895  character(kind=c_char), intent(inout) :: s01mnem(*)
896  end subroutine catch_bort_pkvs01_c
897 
911  subroutine catch_bort_datebf_c(lunit,mear,mmon,mday,mour,idate) bind(C, name='catch_bort_datebf')
912  use iso_c_binding
913  integer(c_int), value, intent(in) :: lunit
914  integer(c_int), intent(out) :: mear, mmon, mday, mour, idate
915  end subroutine catch_bort_datebf_c
916 
927  subroutine catch_bort_dumpbf_c(lunit,jdate,jdump) bind(C, name='catch_bort_dumpbf')
928  use iso_c_binding
929  integer(c_int), value, intent(in) :: lunit
930  integer(c_int), intent(out) :: jdate(*), jdump(*)
931  end subroutine catch_bort_dumpbf_c
932 
942  subroutine catch_bort_minimg_c(lunit,mini) bind(C, name='catch_bort_minimg')
943  use iso_c_binding
944  integer(c_int), value, intent(in) :: lunit, mini
945  end subroutine catch_bort_minimg_c
946 
958  subroutine catch_bort_upds3_c(mbay,lcds3,ccds3,nds3) bind(C, name='catch_bort_upds3')
959  use iso_c_binding
960  integer(c_int), value, intent(in) :: lcds3
961  integer(c_int), intent(in) :: mbay(*)
962  integer(c_int), intent(out) :: nds3
963  character(kind=c_char), intent(out) :: ccds3(6,*)
964  end subroutine catch_bort_upds3_c
965 
978  subroutine catch_bort_pkbs1_c(ival,mbay,s1mnem,s1mnem_str_len) bind(C, name='catch_bort_pkbs1')
979  use iso_c_binding
980  integer(c_int), intent(in), value :: s1mnem_str_len, ival
981  integer(c_int), intent(inout) :: mbay(*)
982  character(kind=c_char), intent(inout) :: s1mnem(*)
983  end subroutine catch_bort_pkbs1_c
984 
998  subroutine catch_bort_strcpt_c(cf,iyr,imo,idy,ihr,imi) bind(C, name='catch_bort_strcpt')
999  use iso_c_binding
1000  integer(c_int), value, intent(in) :: iyr, imo, idy, ihr, imi
1001  character(kind=c_char), intent(in) :: cf(*)
1002  end subroutine catch_bort_strcpt_c
1003 
1018  subroutine catch_bort_rtrcpt_c(lunit,iyr,imo,idy,ihr,imi,iret) bind(C, name='catch_bort_rtrcpt')
1019  use iso_c_binding
1020  integer(c_int), value, intent(in) :: lunit
1021  integer(c_int), intent(out) :: iyr, imo, idy, ihr, imi, iret
1022  end subroutine catch_bort_rtrcpt_c
1023 
1034  subroutine catch_bort_atrcpt_c(msgin,lmsgot,msgot) bind(C, name='catch_bort_atrcpt')
1035  use iso_c_binding
1036  integer(c_int), value, intent(in) :: lmsgot
1037  integer(c_int), intent(in) :: msgin(*)
1038  integer(c_int), intent(out) :: msgot(*)
1039  end subroutine catch_bort_atrcpt_c
1040 
1050  subroutine catch_bort_dxdump_c(lunit,luprt) bind(C, name='catch_bort_dxdump')
1051  use iso_c_binding
1052  integer(c_int), value, intent(in) :: lunit, luprt
1053  end subroutine catch_bort_dxdump_c
1054 
1064  subroutine catch_bort_ufbdmp_c(lunit,luprt) bind(C, name='catch_bort_ufbdmp')
1065  use iso_c_binding
1066  integer(c_int), value, intent(in) :: lunit, luprt
1067  end subroutine catch_bort_ufbdmp_c
1068 
1078  subroutine catch_bort_ufdump_c(lunit,luprt) bind(C, name='catch_bort_ufdump')
1079  use iso_c_binding
1080  integer(c_int), value, intent(in) :: lunit, luprt
1081  end subroutine catch_bort_ufdump_c
1082 
1092  subroutine catch_bort_copybf_c(lunin,lunot) bind(C, name='catch_bort_copybf')
1093  use iso_c_binding
1094  integer(c_int), value, intent(in) :: lunin, lunot
1095  end subroutine catch_bort_copybf_c
1096 
1106  subroutine catch_bort_copymg_c(lunin,lunot) bind(C, name='catch_bort_copymg')
1107  use iso_c_binding
1108  integer(c_int), value, intent(in) :: lunin, lunot
1109  end subroutine catch_bort_copymg_c
1110 
1121  subroutine catch_bort_copysb_c(lunin,lunot,iret) bind(C, name='catch_bort_copysb')
1122  use iso_c_binding
1123  integer(c_int), value, intent(in) :: lunin, lunot
1124  integer(c_int), intent(out) :: iret
1125  end subroutine catch_bort_copysb_c
1126 
1136  subroutine catch_bort_ufbcpy_c(lunin,lunot) bind(C, name='catch_bort_ufbcpy')
1137  use iso_c_binding
1138  integer(c_int), value, intent(in) :: lunin, lunot
1139  end subroutine catch_bort_ufbcpy_c
1140 
1156  subroutine catch_bort_nemdefs_c(lunit,cnemo,lcn,ccelem,ccelem_str_len,ccunit,ccunit_str_len,iret) &
1157  bind(c, name='catch_bort_nemdefs')
1158  use iso_c_binding
1159  integer(c_int), value, intent(in) :: lunit, lcn, ccelem_str_len, ccunit_str_len
1160  integer(c_int), intent(out) :: iret
1161  character(kind=c_char), intent(inout) :: cnemo(*)
1162  character(kind=c_char), intent(out) :: ccelem(*), ccunit(*)
1163  end subroutine catch_bort_nemdefs_c
1164 
1180  subroutine catch_bort_nemspecs_c(lunit,cnemo,lcn,nnemo,nscl,nref,nbts,iret) bind(C, name='catch_bort_nemspecs')
1181  use iso_c_binding
1182  integer(c_int), value, intent(in) :: lunit, lcn, nnemo
1183  integer(c_int), intent(out) :: nscl, nref, nbts, iret
1184  character(kind=c_char), intent(inout) :: cnemo(*)
1185  end subroutine catch_bort_nemspecs_c
1186 
1200  subroutine catch_bort_readerme_c(mesg,lunit,subset,jdate,subset_str_len,iret) bind(C, name='catch_bort_readerme')
1201  use iso_c_binding
1202  integer(c_int), value, intent(in) :: lunit, subset_str_len
1203  integer(c_int), intent(in) :: mesg(*)
1204  integer(c_int), intent(out) :: jdate, iret
1205  character(kind=c_char), intent(out) :: subset(*)
1206  end subroutine catch_bort_readerme_c
1207 
1218  subroutine catch_bort_rdmgsb_c(lunit,imsg,isub) bind(C, name='catch_bort_rdmgsb')
1219  use iso_c_binding
1220  integer(c_int), value, intent(in) :: lunit, imsg, isub
1221  end subroutine catch_bort_rdmgsb_c
1222 
1234  subroutine catch_bort_ufbmem_c(lunit,inew,iret,iunit) bind(C, name='catch_bort_ufbmem')
1235  use iso_c_binding
1236  integer(c_int), value, intent(in) :: lunit, inew
1237  integer(c_int), intent(out) :: iret, iunit
1238  end subroutine catch_bort_ufbmem_c
1239 
1252  subroutine catch_bort_ufbmex_c(lunit,lundx,inew,iret,mesg) bind(C, name='catch_bort_ufbmex')
1253  use iso_c_binding
1254  integer(c_int), value, intent(in) :: lunit, lundx, inew
1255  integer(c_int), intent(out) :: iret, mesg(*)
1256  end subroutine catch_bort_ufbmex_c
1257 
1270  subroutine catch_bort_ufbmms_c(imsg,isub,subset,jdate,subset_str_len) bind(C, name='catch_bort_ufbmms')
1271  use iso_c_binding
1272  integer(c_int), value, intent(in) :: imsg, isub, subset_str_len
1273  integer(c_int), intent(out) :: jdate
1274  character(kind=c_char), intent(out) :: subset(*)
1275  end subroutine catch_bort_ufbmms_c
1276 
1288  subroutine catch_bort_ufbmns_c(irep,subset,idate,subset_str_len) bind(C, name='catch_bort_ufbmns')
1289  use iso_c_binding
1290  integer(c_int), value, intent(in) :: irep, subset_str_len
1291  integer(c_int), intent(out) :: idate
1292  character(kind=c_char), intent(out) :: subset(*)
1293  end subroutine catch_bort_ufbmns_c
1294 
1307  subroutine catch_bort_rdmemm_c(imsg,subset,jdate,subset_str_len,iret) bind(C, name='catch_bort_rdmemm')
1308  use iso_c_binding
1309  integer(c_int), value, intent(in) :: imsg, subset_str_len
1310  character(kind=c_char), intent(out) :: subset(*)
1311  integer(c_int), intent(out) :: jdate, iret
1312  end subroutine catch_bort_rdmemm_c
1313 
1323  subroutine catch_bort_rdmems_c(isub,iret) bind(C, name='catch_bort_rdmems')
1324  use iso_c_binding
1325  integer(c_int), value, intent(in) :: isub
1326  integer(c_int), intent(out) :: iret
1327  end subroutine catch_bort_rdmems_c
1328 
1344  subroutine catch_bort_ufbrms_c(imsg,isub,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbrms')
1345  use iso_c_binding
1346  integer(c_int), value, intent(in) :: imsg, isub, i1, i2, cstr_len
1347  integer(c_int), intent(out) :: iret
1348  character(kind=c_char), intent(inout) :: cstr(*)
1349  real(c_double), intent(out) :: usr(i1,*)
1350  end subroutine catch_bort_ufbrms_c
1351 
1365  subroutine catch_bort_ufbtam_c(tab,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbtam')
1366  use iso_c_binding
1367  integer(c_int), value, intent(in) :: i1, i2, cstr_len
1368  integer(c_int), intent(out) :: iret
1369  character(kind=c_char), intent(inout) :: cstr(*)
1370  real(c_double), intent(out) :: tab(i1,*)
1371  end subroutine catch_bort_ufbtam_c
1372 
1381  subroutine catch_bort_cpymem_c(lunot) bind(C, name='catch_bort_cpymem')
1382  use iso_c_binding
1383  integer(c_int), value, intent(in) :: lunot
1384  end subroutine catch_bort_cpymem_c
1385 
1395  subroutine catch_bort_ufbcup_c(lunin,lunot) bind(C, name='catch_bort_ufbcup')
1396  use iso_c_binding
1397  integer(c_int), value, intent(in) :: lunin, lunot
1398  end subroutine catch_bort_ufbcup_c
1399 
1408  subroutine catch_bort_stdmsg_c(cf) bind(C, name='catch_bort_stdmsg')
1409  use iso_c_binding
1410  character(kind=c_char), intent(in) :: cf(*)
1411  end subroutine catch_bort_stdmsg_c
1412 
1424  subroutine catch_bort_stndrd_c(lunit,msgin,lmsgot,msgot) bind(C, name='catch_bort_stndrd')
1425  use iso_c_binding
1426  integer(c_int), value, intent(in) :: lunit, lmsgot
1427  integer(c_int), intent(in) :: msgin(*)
1428  integer(c_int), intent(out) :: msgot(*)
1429  end subroutine catch_bort_stndrd_c
1430 
1439  subroutine catch_bort_cmpmsg_c(cf) bind(C, name='catch_bort_cmpmsg')
1440  use iso_c_binding
1441  character(kind=c_char), intent(in) :: cf(*)
1442  end subroutine catch_bort_cmpmsg_c
1443 
1453  subroutine catch_bort_codflg_c(cf) bind(C, name='catch_bort_codflg')
1454  use iso_c_binding
1455  character(kind=c_char), intent(in) :: cf(*)
1456  end subroutine catch_bort_codflg_c
1457 
1467  subroutine catch_bort_bvers_c(verstr,verstr_len) bind(C, name='catch_bort_bvers')
1468  use iso_c_binding
1469  integer(c_int), value, intent(in) :: verstr_len
1470  character(kind=c_char), intent(out) :: verstr(*)
1471  end subroutine catch_bort_bvers_c
1472 
1488  subroutine catch_bort_gettagpr_c(lunit,tagch,tagch_len,ntagch,tagpr,tagpr_len,ntpchr,iret) &
1489  bind(c, name='catch_bort_gettagpr')
1490  use iso_c_binding
1491  integer(c_int), value, intent(in) :: lunit, tagch_len, ntagch, tagpr_len
1492  integer(c_int), intent(out) :: ntpchr, iret
1493  character(kind=c_char), intent(inout) :: tagch(*)
1494  character(kind=c_char), intent(out) :: tagpr(*)
1495  end subroutine catch_bort_gettagpr_c
1496 
1513  subroutine catch_bort_gettagre_c(lunit,tagi,tagi_len,ntagi,tagre,tagre_len,ntagre,ntrchr,iret) &
1514  bind(c, name='catch_bort_gettagre')
1515  use iso_c_binding
1516  integer(c_int), value, intent(in) :: lunit, tagi_len, ntagi, tagre_len
1517  integer(c_int), intent(out) :: ntagre, ntrchr, iret
1518  character(kind=c_char), intent(inout) :: tagi(*)
1519  character(kind=c_char), intent(out) :: tagre(*)
1520  end subroutine catch_bort_gettagre_c
1521 
1532  subroutine catch_bort_cnved4_c(msgin,lmsgot,msgot) bind(C, name='catch_bort_cnved4')
1533  use iso_c_binding
1534  integer(c_int), value, intent(in) :: lmsgot
1535  integer(c_int), intent(in) :: msgin(*)
1536  integer(c_int), intent(out) :: msgot(*)
1537  end subroutine catch_bort_cnved4_c
1538 
1550  subroutine catch_bort_lcmgdf_c(lunit,subset,subset_str_len,iret) bind(C, name='catch_bort_lcmgdf')
1551  use iso_c_binding
1552  integer(c_int), value, intent(in) :: lunit, subset_str_len
1553  integer(c_int), intent(out) :: iret
1554  character(kind=c_char), intent(inout) :: subset(*)
1555  end subroutine catch_bort_lcmgdf_c
1556 
1573  subroutine catch_bort_setvalnb_c(lunit,tagpv,tagpv_len,ntagpv,tagnb,tagnb_len,ntagnb,r8val,iret) &
1574  bind(c, name='catch_bort_setvalnb')
1575  use iso_c_binding
1576  integer(c_int), value, intent(in) :: lunit, tagpv_len, ntagpv, tagnb_len, ntagnb
1577  integer(c_int), intent(out) :: iret
1578  character(kind=c_char), intent(inout) :: tagpv(*), tagnb(*)
1579  real(c_double), value, intent(in) :: r8val
1580  end subroutine catch_bort_setvalnb_c
1581 
1597  subroutine catch_bort_getvalnb_c(lunit,tagpv,tagpv_len,ntagpv,tagnb,tagnb_len,ntagnb,r8val) &
1598  bind(c, name='catch_bort_getvalnb')
1599  use iso_c_binding
1600  integer(c_int), value, intent(in) :: lunit, tagpv_len, ntagpv, tagnb_len, ntagnb
1601  character(kind=c_char), intent(inout) :: tagpv(*), tagnb(*)
1602  real(c_double), intent(out) :: r8val
1603  end subroutine catch_bort_getvalnb_c
1604 
1616  subroutine catch_bort_getabdb_c(lunit,itab,ctabdb,jtab) bind(C, name='catch_bort_getabdb')
1617  use iso_c_binding
1618  integer(c_int), value, intent(in) :: lunit, itab
1619  integer(c_int), intent(out) :: jtab
1620  character(kind=c_char), intent(out) :: ctabdb(128,*)
1621  end subroutine catch_bort_getabdb_c
1622 
1636  subroutine catch_bort_ufbget_c(lunit,tab,i1,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbget')
1637  use iso_c_binding
1638  integer(c_int), value, intent(in) :: lunit, i1, cstr_len
1639  integer(c_int), intent(out) :: iret
1640  character(kind=c_char), intent(inout) :: cstr(*)
1641  real(c_double), intent(out) :: tab(*)
1642  end subroutine catch_bort_ufbget_c
1643 
1660  subroutine catch_bort_ufbinx_c(lunit,imsg,isub,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbinx')
1661  use iso_c_binding
1662  integer(c_int), value, intent(in) :: lunit, i1, i2, cstr_len, imsg, isub
1663  integer(c_int), intent(out) :: iret
1664  character(kind=c_char), intent(inout) :: cstr(*)
1665  real(c_double), intent(out) :: usr(i1,*)
1666  end subroutine catch_bort_ufbinx_c
1667 
1682  subroutine catch_bort_ufbovr_c(lunit,usr,i1,i2,iret,cstr,cstr_len) bind(C, name='catch_bort_ufbovr')
1683  use iso_c_binding
1684  integer(c_int), value, intent(in) :: lunit, i1, i2, cstr_len
1685  integer(c_int), intent(out) :: iret
1686  character(kind=c_char), intent(inout) :: cstr(*)
1687  real(c_double), intent(in) :: usr(i1,*)
1688  end subroutine catch_bort_ufbovr_c
1689 
1699  subroutine catch_bort_ifbget_c(lunit,iret) bind(C, name='catch_bort_ifbget')
1700  use iso_c_binding
1701  integer(c_int), value, intent(in) :: lunit
1702  integer(c_int), intent(out) :: iret
1703  end subroutine catch_bort_ifbget_c
1704 
1714  subroutine catch_bort_igetsc_c(lunit,iret) bind(C, name='catch_bort_igetsc')
1715  use iso_c_binding
1716  integer(c_int), value, intent(in) :: lunit
1717  integer(c_int), intent(out) :: iret
1718  end subroutine catch_bort_igetsc_c
1719 
1729  subroutine catch_bort_wrdxtb_c(lundx,lunot) bind(C, name='catch_bort_wrdxtb')
1730  use iso_c_binding
1731  integer(c_int), value, intent(in) :: lundx, lunot
1732  end subroutine catch_bort_wrdxtb_c
1733 
1743  subroutine catch_bort_mesgbf_c(lunit,mesgtyp) bind(C, name='catch_bort_mesgbf')
1744  use iso_c_binding
1745  integer(c_int), value, intent(in) :: lunit
1746  integer(c_int), intent(out) :: mesgtyp
1747  end subroutine catch_bort_mesgbf_c
1748 
1759  subroutine catch_bort_mesgbc_c(lunin,mesgtyp,icomp) bind(C, name='catch_bort_mesgbc')
1760  use iso_c_binding
1761  integer(c_int), value, intent(in) :: lunin
1762  integer(c_int), intent(out) :: mesgtyp, icomp
1763  end subroutine catch_bort_mesgbc_c
1764 
1774  subroutine catch_bort_invmrg_c(lubfi,lubfj) bind(C, name='catch_bort_invmrg')
1775  use iso_c_binding
1776  integer(c_int), value, intent(in) :: lubfi, lubfj
1777  end subroutine catch_bort_invmrg_c
1778 
1790  subroutine catch_bort_iupm_c(cbay,nbits,iret,lcbay) bind(C, name='catch_bort_iupm')
1791  use iso_c_binding
1792  character(kind=c_char), intent(inout) :: cbay(*)
1793  integer(c_int), value, intent(in) :: nbits, lcbay
1794  integer(c_int), intent(out) :: iret
1795  end subroutine catch_bort_iupm_c
1796 
1808  subroutine catch_bort_ipkm_c(cbay,nbyt,ival,cbay_len) bind(C, name='catch_bort_ipkm')
1809  use iso_c_binding
1810  character(kind=c_char), intent(out) :: cbay(*)
1811  integer(c_int), value, intent(in) :: nbyt, ival, cbay_len
1812  end subroutine catch_bort_ipkm_c
1813 
1814  end interface
1815 
1816 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